sproxy
![](http://forum.ru-board.com/board/avatars/private/sproxy.gif)
Full Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору gal7 on top окна можно попробовать так: WinSetOnTop ( "title", "text", flag ) а вот $WS_EX_WINDOWEDGE у меня ни как не проявляется, но виден стиль: $WS_EX_CLIENTEDGE, от же рамка, но опущенная.. как вариант можно так сделать: Код: #Include <Date.au3> #Include <GUIConstants.au3> #Include <WindowsConstants.au3> Opt('GUIOnEventMode', 1) Opt('WinDetectHiddenText', 1) Global $NewStyle = False Global $GUID = _Get_GUID() Global $win_main_title = 'Test My GUI' Global $vr_rab = DllCallbackRegister('VREM_RAB', 'none', '');Зарегистрировать функцию указания времени работы программы Global $taymer_vr = DllCall('user32.dll', 'int', 'SetTimer', 'hwnd', 0, 'int', 0, 'int', 1000, 'ptr', DllCallbackGetPtr($vr_rab));Запустить таймер вызова функции $vremya = _NowCalc();Получаем текущее время $hWnd = GUICreate($win_main_title) GUISetOnEvent($GUI_EVENT_CLOSE, 'CLOSE') ;~ Идентификатор окна GUICtrlCreateLabel($GUID, -100, -100) $LABEL = GUICtrlCreateLabel('Время работы: 0 ч 0 м 0 с', 10, 10) GuiCtrlSetOnEvent($LABEL, '_Setstyle') GUISetState (@SW_SHOW) While 1 sleep(10) WEnd Func VREM_RAB();Функция указания времени работы программы Local $tek_vremya = _NowCalc();Получаем текущее время Local $raznica = _DateDiff('s', $vremya, $tek_vremya);Определяем разницу в двух датах в секундах Local $kol_chasov = Int($raznica / 3600);Получаем количество часов работы программы Local $kol_min_v_ch = $kol_chasov * 3600;Получаем количество минут в прошедших часах Local $kol_minut = Int(($raznica - $kol_min_v_ch) / 60);Получаем количество минут работы программы Local $kol_sek = $raznica - $kol_min_v_ch - ($kol_minut * 60);Получаем количество секунд работы программы GUICtrlSetData($LABEL, 'Время работы: ' & $kol_chasov & ' ч ' & $kol_minut & ' м ' & $kol_sek & ' с');Указываем время работы программы EndFunc Func CLOSE() DllCallbackFree($vr_rab);Убрать обратный вызов DllCall('user32.dll', 'int', 'KillTimer', 'hwnd', 0, 'int', $taymer_vr);Убрать таймер указания времени работы программы Exit EndFunc Func _Setstyle() If Not $NewStyle Then GUISetState(@SW_MINIMIZE, $hWnd) GUISetStyle(BitOR($WS_CAPTION, $WS_SYSMENU), $WS_EX_CLIENTEDGE) WinSetOnTop($win_main_title, $GUID, 1) GUISetState(@SW_RESTORE, $hWnd) $NewStyle = True Else GUISetState(@SW_MINIMIZE, $hWnd) GUISetStyle(BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU), 0) WinSetOnTop($win_main_title, $GUID, 0) GUISetState(@SW_RESTORE, $hWnd) $NewStyle = False EndIf EndFunc Func _Get_GUID() Local $oTypeLib = ObjCreate('Scriptlet.TypeLib') If IsObj($oTypeLib) Then Return $oTypeLib.GUID Return SetError(1, 0, 0) EndFunc | |