Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2010, 00:50   #1
semiono
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 14
По умолчанию STARTUPINFO (x, y)

Не могу сдвинуть консоль! Перебрал все различные dwFlags итп. Что тут не так?

Код:
        invoke GetStdHandle,STD_INPUT_HANDLE
        mov [stdi],eax
        mov [sinfo.hStdInput],eax

        invoke GetStdHandle,STD_OUTPUT_HANDLE
        mov [stdo],eax
        mov [sinfo.hStdOutput],eax

        invoke GetCommandLine
        mov [sci],eax

        mov [sinfo.cb],sizeof.STARTUPINFO
        mov [sinfo.dwFlags],STARTF_USESHOWWINDOW;+STARTF_USESIZE ;STARTF_USESTDHANDLES
        mov dword [sinfo.dwX],0
        mov dword [sinfo.dwY],0

        invoke ExpandEnvironmentStrings,'%systemroot%\system32\cmd.exe',exec,MAX_PATH
        invoke CreateProcess,exec,[sci],NULL,NULL,\
               REALTIME_PRIORITY_CLASS,NORMAL_PRIORITY_CLASS,NULL,NULL,sinfo,pinfo ;DETACHED_PROCESS
        cmp eax,NULL
        je exit

        invoke WaitForSingleObject,[pinfo.hProcess],INFINITE    ; INFINITE dd 0xffffffff
exit:
По логике у меня консоль должна стать в X = 0; Y = 0
Однкао, консоль открывается согласно дефолтным установкам.
Нуль это не принципиально, мне лишь бы она подчинялась заданной координате...
И sinfo.dwTitle тоже не устанавливает, вообщем глухо.
semiono вне форума Ответить с цитированием
Старый 15.10.2010, 14:46   #2
semiono
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 14
По умолчанию

Выяснил следущее: то, что STARTF_USEPOSITION итд, не работают под format PE Console.
Можно бы попробовать GUI но в моём случае это экзотическое решение, так как дело имею с консолью. И вдобавок GUI открывает новое окно cmd.exe даже из сеанса консоли, это плохо!

Запись настроек консоли в реестр срабатывает, но только после второго запуска, хотя здесь логика вообще не понятная.
Я ставил Sleep,1000 - но по наблюдениям консоль сразу открывается со старыми настройками как будто ей реестр пофигу.
semiono вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц