| 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 проще, имхо).
 |