메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

포스트잇 창 만들기

데브카페

autoit 을 이용하여 포스트잇 창 만들기 예제

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
;~ #include <WinAPISys.au3>
#include <WinAPI.au3>
#include <WinAPIEx.au3>

; 투명도를 위한 상수 선언
;~ Global Const $LWA_COLORKEY = 0x1
;~ Global Const $LWA_ALPHA = 0x2

; GUI 생성 (테두리 없는 팝업 윈도우, 항상 위에 표시)
$hGUI = GUICreate("투명포스트잇", 300, 300, Default, Default, $WS_POPUP, $WS_EX_TOPMOST)

; GUI 배경색 지정 및 투명도 설정 (여기서는 검은색을 배경 투명 키로 설정)
GUISetBkColor(0x000000)
_WinAPI_SetLayeredWindowAttributes($hGUI, 0x000000, 200, $LWA_ALPHA + $LWA_COLORKEY)

; 메모를 입력할 에디트 컨트롤 생성
$hEdit = GUICtrlCreateEdit("메모를 입력하세요.", 10, 10, 280, 280, BitOR($ES_WANTRETURN, $ES_AUTOVSCROLL))
; 에디트 컨트롤 배경색 투명 설정
GUICtrlSetBkColor($hEdit, $GUI_BKCOLOR_TRANSPARENT)

GUISetState(@SW_SHOW)

; 윈도우 드래그 이동 함수 (타이틀바가 없으므로 윈도우 아무 곳이나 클릭해 이동)
Func WM_LBUTTONDOWN($hWnd, $Msg, $wParam, $lParam)
    #forceref $hWnd, $Msg, $wParam, $lParam
    _SendMessage($hGUI, $WM_SYSCOMMAND, 0xF012, 0)
EndFunc

GUIRegisterMsg($WM_LBUTTONDOWN, "WM_LBUTTONDOWN")

; 메인 루프
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

; WinAPI 함수 정의
;~ Func _WinAPI_SetLayeredWindowAttributes($hwnd, $crKey, $bAlpha, $dwFlags)
;~     Local $aRet = DllCall("user32.dll", "bool", "SetLayeredWindowAttributes", "hwnd", $hwnd, "dword", $crKey, "byte", $bAlpha, "dword", $dwFlags)
;~     If @error Then Return SetError(@error, @error, False)
;~     Return $aRet[0]
;~ EndFunc

Comments