Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Creat0R
Цитата:
Ctrl Alt Del всё же работает »
гы, а эта комбинация неотключаемая aka "in design" - требование безопасности

Цитата:
В том скрипте что я прикрепил, замени создание строки состояния (Label) на настоящий StatusBar, и полученное имя видео отобрази в этом статус баре »
подправил штатную _GUICtrlStatusBar_SetText() для случая юникода...
если на вход подать результат _Utf8ToUnicode() ту что приводил выше, то текст отобразится корректно... там номер сообщения отличается на 10
Код: Выделить весь код
; Вариант установки текста статус-бара для юникода
; $binUTF16 - текст, тип Binary

Func _GUICtrlStatusBar_SetUTF16($hWnd, $binUTF16, $iPart = 0, $iUFlag = 0)
    If $Debug_SB Then _GUICtrlStatusBar_ValidateClassName($hWnd)
    Local $ret, $struct_String, $sBuffer_pointer, $struct_MemMap, $Memory_pointer
    $struct_String = DllStructCreate("byte[" & BinaryLen($binUTF16) & "];byte[2]")
    $sBuffer_pointer = DllStructGetPtr($struct_String)
    DllStructSetData($struct_String, 1, $binUTF16)
    If _GUICtrlStatusBar_IsSimple($hWnd) Then $iPart = $SB_SIMPLEID
    If _WinAPI_InProcess($hWnd, $__ghSBLastWnd) Then
        $ret = _SendMessage($hWnd, $SB_SETTEXT+10, BitOR($iPart, $iUFlag), $sBuffer_pointer, 0, "wparam", "ptr")
    Else
        $Memory_pointer = _MemInit($hWnd, StringLen($sText) + 1, $struct_MemMap)
        _MemWrite($struct_MemMap, $sBuffer_pointer)
        $ret = _SendMessage($hWnd, $SB_SETTEXT+10, BitOR($iPart, $iUFlag), $Memory_pointer, 0, "wparam", "ptr")
        _MemFree($struct_MemMap)
    EndIf
    Return $ret <> 0
EndFunc
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:10, 27-11-2007 | #770