shyra1976, пример:
Код:
Opt('TrayIconDebug', 1)
HotKeySet('{ESC}', '_Pro_Exit'); Клавиша ESC - закрыть скрипт
Global $sTitel, $hWnd, $iPID, $sFile
While 1
$hWnd = WinGetHandle('[Active]')
$sTitel = WinGetTitle($hWnd)
$iPID = WinGetProcess($hWnd)
$sFile = _ProcessGetLocation($iPID)
ToolTip('Указатель окна:' & @TAB & $hWnd & @CRLF & _
'Заголовок окна:' & @TAB & $sTitel & @CRLF & _
'PID процесса:' & @TAB & @TAB & $iPID & @CRLF & _
'Файл процесса:' & @TAB & @TAB & $sFile, _
10, 100, 'Активное окно')
Sleep(100)
WEnd
Func _ProcessGetLocation($iPID)
Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID)
If $aProc[0] = 0 Then Return SetError(1, 0, '')
Local $vStruct = DllStructCreate('int[1024]')
DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0)
Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048)
If StringLen($aReturn[3]) = 0 Then Return SetError(2, 0, '')
Return $aReturn[3]
EndFunc
Func _Pro_Exit()
Exit
EndFunc
Цитата shyra1976:
у нас на работе установили программу для ввода данных
Но она понимает только большые буквы
Вот я и хотел написать программу в что бы каждый раз что я обращаюсь к окну для заполнения данных у меня включался Caps lock
Проблема в том что в программе для ввода данных можно открыть много окон как в OUTLOOK
и в каждом окне можно писать данные
Пока смог написать только что бы Caps lock сробатовал в первом окне В остальных не работает Caps lock »
|
могу подкинуть десяток запятых - даром ))))))))