Сейчас на форуме: Rio, ==DJ==[ZLO], Dart Raiden, Alf (+6 невидимых)

 eXeL@B —› Основной форум —› CreateProcess
Посл.ответ Сообщение

Ранг: 42.0 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 30 сентября 2004 01:19 · Поправил: RideX
· Личное сообщение · #1

Asterix
Кстати, что-то действительно прога не устанавливает параметры окна при запуске в win2к, в win98 всё пашет..
У меня win98 нет, на XP у меня тоже не работает, а я думал у меня руки кривущие На одном программерском форуме спрашивал, подсказали что окно должно быть WS_OVERLAPPEDWINDOW и dwX = CW_USEDEFAULT. Я уже сам окно сделал, чтобы точно эти свойства были, нифига не работает, а в случае с CW_USEDEFAULT окно вообще не видно.
Как-то не верится, что в 2k/XP это нужно делать по уродски, неужели типа этого?:

format PE GUI 4.0
entry start

include '%fasminc%\win32a.inc'


section '.code' code readable executable

start:
invoke CreateProcess, NULL, szFileName, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS,\
NULL, NULL, StartupInfo, ProcessInfo
test eax, eax
jz @exit
invoke Sleep, 100 ; <--
invoke GetForegroundWindow ; <--
invoke MoveWindow, eax, 5, 5, 400, 300, TRUE ; <--
invoke CloseHandle, [ProcessInfo.hThread]
invoke CloseHandle, [ProcessInfo.hProcess]
@exit:
invoke ExitProcess, 0


section '.data' data readable writeable

szFileName db 'notepad.exe',0
StartupInfo:
cb dd sizeof.STARTUPINFO
lpReserved dd NULL
lpDesktop dd NULL
lpTitle dd NULL
dwX dd 5 ; Нужно чтобы работали
dwY dd 5 ; эти параметры
dwXSize dd 400 ; в CreateProcess, без
dwYSize dd 300 ; всяких MoveWindow после.
dwXCountChars dd 0
dwYCountChars dd 0
dwFillAttribute dd 0
dwFlags dd STARTF_USESHOWWINDOW or STARTF_USEPOSITION or STARTF_USESIZE
wShowWindow dw SW_SHOW
cbReserved2 dw 0
lpReserved2 dd NULL
hStdInput dd 0
hStdOutput dd 0
hStdError dd 0


section '.udata' readable writeable

ProcessInfo PROCESSINFO


section '.idata' import data readable

library kernel32,'KERNEL32.DLL',\
user32,'USER32.DLL'
include '%fasminc%\APIA\KERNEL32.INC'
include '%fasminc%\APIA\USER32.INC'



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 30 сентября 2004 03:23
· Личное сообщение · #2

RideX
У меня никаких проблем с простым окном(не с notepad'ом) нет.
Приаттачил, можешь попробовать.

Вообще, всё это из-за того что notepad в 2к/ХР хранит параметры окна в реестре и использует их при запуске.


_871078550__SampleWindow.rar



Ранг: 42.0 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 01 октября 2004 00:42
· Личное сообщение · #3

Asterix
Вчера тебе здесь сообщение оставил, что попробовал твой пример, всё работает, спасибо Видно форум глюканул и оно куда-то пропало, вот ещё раз написал, если ты вчера не прочитал


 eXeL@B —› Основной форум —› CreateProcess
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати