More ... | 編集履歴:過去のバージョン2015/09/09 10:04:07 JST時点でのオブジェクトの表示されている文字列(タイトル)を取得するだけのモジュールの内容* ブジェクトの表示されている文字列(タイトル)を取得するだけのモジュール {{{ #module gettext #define INVALID_HANDLE_VALUE $FFFFFFFF #define WM_GETTEXT $0000000D #define WM_GETTEXTLENGTH $0000000E #uselib "user32.dll" #cfunc GetWindowTextLength "GetWindowTextLengthA" int #deffunc textshutoku var p1 , int handle// , local textlength if handle==INVALID_HANDLE_VALUE : return 0 textlength= GetWindowTextLength(handle) //sendmsg handle, WM_GETTEXTLENGTH : textlength=stat //sendmsgでWM_GETTEXTLENGTHを送ってもいい memexpand p1,textlength+1 sendmsg handle, WM_GETTEXT, textlength+1,varptr(p1) poke p1,textlength,0 return textlength #global //サンプル //ウィンドウスタイル #define WS_CHILDWINDOW $40000000 #define WS_VISIBLE $10000000 #define WS_VSCROLL $00200000//縦スクロールバー #define WS_HSCROLL $00100000//横スクロールバー #define ES_AUTOHSCROLL $00000080//横に自動でスクロール #define ES_AUTOVSCROLL $00000040//縦にに自動でスクロール //ウィンドウスタイル(エディトコントロール専用) #define ES_READONLY $00000800//書き換え禁止 #define ES_MULTILINE $00000004//mesbox化 #define ES_NUMBER $00002000//数字のみを入力できるようにする //拡張ウィンドウスタイル #define WS_EX_CLIENTEDGE $00000200//mesboxと同じ縁 #define WM_SETTEXT $0000000C sdim texttmp winobj "edit" , "" , WS_EX_CLIENTEDGE , WS_HSCROLL | WS_VSCROLL | WS_CHILDWINDOW | WS_VISIBLE | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL , ginfo_winx/2 , ginfo_winy-25 pos ginfo_winx/2,0 winobj "edit" , "" , WS_EX_CLIENTEDGE , ES_READONLY | WS_HSCROLL | WS_VSCROLL | WS_CHILDWINDOW | WS_VISIBLE | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL , ginfo_winx-ginfo_winx/2 , ginfo_winy-25 pos 0,ginfo_winy-25 objsize ginfo_winx,25 button gosub "左から右にコピー",*fukusha stop *fukusha textshutoku texttmp , objinfo_hwnd(0) sendmsg objinfo_hwnd(1) , WM_SETTEXT ,, texttmp return }}} |