Vlasssov
23-10-2009, 13:29
Есть вот такой код, для примера, однако он иллюстрирует проблему:
Run("notepad.exe")
winwait("[CLASS:Notepad]")
WinSetState("[CLASS:Notepad]", "", @SW_HIDE)
send("Вася")
$aWin = WinList()
$pid = WinGetProcess("[CLASS:Notepad]")
$f=0
send("^s")
Do
For $i = 1 to $aWin[0][0]
$pid1 = WinGetProcess($aWin[$i][0])
If ($pid = $pid1) And ($aWin[$i][1] = "Сохранить как") Then
$f=1
exit For
EndIf
Next
until $f=0
send("Вася1")
send("{Enter}")
Проблема такая:
1. Можно запустить приложение сразу в фоновом режиме, и получить хендл окна?
2. При выводе диалога сохранения файла, окно на мгновение становиться активным, а сразу dajy его отправить нельзя? Дело в том, что вот именно так оно и должно вызываться путем посыла в фоновое окно набора клавиш...
Run("notepad.exe")
winwait("[CLASS:Notepad]")
WinSetState("[CLASS:Notepad]", "", @SW_HIDE)
send("Вася")
$aWin = WinList()
$pid = WinGetProcess("[CLASS:Notepad]")
$f=0
send("^s")
Do
For $i = 1 to $aWin[0][0]
$pid1 = WinGetProcess($aWin[$i][0])
If ($pid = $pid1) And ($aWin[$i][1] = "Сохранить как") Then
$f=1
exit For
EndIf
Next
until $f=0
send("Вася1")
send("{Enter}")
Проблема такая:
1. Можно запустить приложение сразу в фоновом режиме, и получить хендл окна?
2. При выводе диалога сохранения файла, окно на мгновение становиться активным, а сразу dajy его отправить нельзя? Дело в том, что вот именно так оно и должно вызываться путем посыла в фоновое окно набора клавиш...