Zloy_Gelud
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору PAVELNEXT -- на примере виндового калькулятора. Код: File.Run(_SystemFolder.."\\calc.exe", "", _SystemFolder, SW_SHOWNORMAL, false); repeat hWnd = tonumber(DLL.CallFunction("user32.dll", "FindWindowA", "0,\"Калькулятор\"", DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL)); if hWnd ~= 0 then local nX, nY, nWidth, nHeight if File.DoesExist(_SourceFolder.."\\Settings.ini") then nX = tonumber(INIFile.GetValue(_SourceFolder.."\\Settings.ini", "Position", "X")); nY = tonumber(INIFile.GetValue(_SourceFolder.."\\Settings.ini", "Position", "Y")); nWidth = tonumber(INIFile.GetValue(_SourceFolder.."\\Settings.ini", "Size", "Width")); nHeight = tonumber(INIFile.GetValue(_SourceFolder.."\\Settings.ini", "Size", "Height")); else nX, nY, nWidth, nHeight = 10, 10, 200, 200 -- дефолтовые значения INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Position", "X", nX); INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Position", "Y", nY); INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Size", "Width", nWidth); INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Size", "Height", nHeight); end Window.SetPos(hWnd, nX, nY); Window.SetSize(hWnd, nWidth, nHeight); end until hWnd ~= 0 | Добавлено: lerik2703 -- ты б хотя бы разделял слова запятыми, а то какой-то набор слов получился. .. дескриптор обязателен?! Да и к тому же, указанные тобой действия также возвращают дескрипторы (в таблице) (перебирать соответственно придется в цикле, с WinAPI проще, имхо). |