sproxy

Full Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Цитата: А как правильно использовать вызванную DLL библиотеку? | Код: $sFilePath = 'c:\test.txt2' $aDllCall = DllCall( _ 'kernel32.dll', 'int', _ 'DeleteFile', _ 'str', $sFilePath) If $aDllCall[0] == 0 Then MsgBox(48, 'Результат', 'Файл удаления: ' & $sFilePath & @CRLF & @CRLF & 'Результат: ' & _GetLastErrorMessage()) Else MsgBox(64, 'Результат', 'Файл удаления: ' & $sFilePath & @CRLF & @CRLF & 'Результат: ' & $aDllCall[0]) EndIf ;=============================================== ; _GetLastErrorMessage($DisplayMsgBox="") ; Format the last windows error as a string and return it ; if $DisplayMsgBox <> "" Then it will display a message box w/ the error ; Return Window's error as a string ;=============================================== Func _GetLastErrorMessage($sDisplayMsgBox = '') Local $aDllCall, $iLastError, $sErrorMsg Local $iPtr = DllStructCreate('char[4096]') Local Const $FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000 If @error Then Return '' $aDllCall= DllCall('Kernel32.dll', 'int', 'GetLastError') $iLastError = $aDllCall[0] $aDllCall = DllCall('kernel32.dll', 'int', 'FormatMessage', _ 'int', $FORMAT_MESSAGE_FROM_SYSTEM, _ 'ptr', 0, _ 'int', $iLastError, _ 'int', 0, _ 'ptr', DllStructGetPtr($iPtr), _ 'int', 4096, _ 'ptr', 0) $sErrorMsg = DllStructGetData($iPtr, 1) If $sDisplayMsgBox <> '' Then MsgBox(0, '_GetLastErrorMessage', $sDisplayMsgBox & ':' & @CRLF & $sErrorMsg & @CRLF & 'Error code: ' & String($iLastError)) Return $sErrorMsg EndFunc;==>_GetLastErrorMessage | Добавлено: Цитата: 1. Как сделать всплывающую подсказку к кнопкам? Я в справке посмотрел, но она связана с нажатием кнопки. | 1. Код: GUICtrlSetTip ( controlid, tiptext ) | 2. можно использовать ToolTip UDF Добавлено: Что бы закрывалось окошко с GUICtrlCreateProgress: Код: #include <GUIConstants.au3> GUICreate("Progress",220,50) $progressbar1 = GUICtrlCreateProgress (10,10,200,20) GUICtrlSetColor(-1,32250); не работает в Windows XP Style GUISetState () $wait = 20; задержка 20мс перед началом прогресса $s = 0; сохранение позиции do $msg = GUIGetMsg() For $i = $s To 100 If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit GUICtrlSetData ($progressbar1,$i) Sleep($wait) Next until $msg = $GUI_EVENT_CLOSE | Добавлено: Цитата: Как сделать полоску прогресса без элемента "Строка заголовка", где кнопка "закрыть", "свернуть"? | Это делается с помощью стилей окна: Справка > Приложения > Стили управляющих элементов GUI > Основные и Общие дополнительные стили Код: GUICreate ( "title" [, width [, height [, left [, top [, style [, exStyle [, parent]]]]]]] ) | style - это Основные exStyle - это Общие дополнительные стили Стили можно комбинировать (складывать): Код: BitOR($WS_POPUP, $WS_BORDER) | Примеры: Подробнее... Добавлено: Цитата: Это хотелось бы сделать для батника, если он выполняется долго, то прописать строку запуска "полоски прогресса" по окончании копирования или патча неважно каких но длительных действий в конце батника выполняется команда "снять задачу" для этой полоски прогресса. Уже предполагаю его сделать в виде анимационного рисунка в окне, если программно не получилось. | небольшая gif анимация, имхо, подойдет лучше всего. как при загрузке windows (черный экран, лого, и полоса двигающаяся по кругу), время выполнения же не известно. Либо гонять GUICtrlCreateProgress по кругу.... | Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 15:26 06-04-2009 | Исправлено: sproxy, 16:02 06-04-2009 |
|