// 指定キーでタイトル+EXE名を取得しテキスト作成して開く UWSC // v1.03 // 作った人:気ままさん // 配布先:http://kimama91.seesaa.net/article/UWSC_FileOpen_Key.html // 連絡先:メールフォームより // 再配布:バグがあったり改良するかもなので配布する場合は //     配布先のリンクを教えてください // 改良:好きに改良してOK、改良ものの配布も自由、許可も不要 //    ホームページやブログに載せる場合は //    配布先にリンクしてこれを改良したみたいにすると作者が喜びます // お約束:このファイルを使用する場合、自己責任にて使用すること //     使用して起こった全ての事柄に作者は関与、保証しません //     これを守れない方のご使用は許可いたしません // ----- // 使用方法 // UWSC をインストールしてダブルクリックするだけ // // メモを作りたいアプリを最前列にして // ALT+Qキー 同時押しして下さい (1秒以上押す感じです) // 自動でメモ帳が作成され開きます // // 感度が悪い場合は下にある設定で調節できます // // 終了は F10キーです // ※押すキーは変更可能 // // ----- 以下、設定項目 // // F10キーで終了 ( 指定キー 一覧 http://canal22.org/vkey/ ) sethotkey(VK_F10, 0, "GotoStop") // 作成するテキストの内容 ( 空欄にしてください ) TXT_DATA = "" // データを保存するフォルダの指定 // 実行した .UWS のフォルダ位置を取得 FOLDER = GET_CUR_DIR // 取得したデータの長さ検査 TXT_SU = LENGTH(FOLDER) // 3桁以外、最後尾に \ を付加 ( C:\ 等ならつけない ) IF TXT_SU = 3 THEN ELSE FOLDER = GET_CUR_DIR+"\" // データ保存フォルダの作成 フォルダ名:TxtFile Doscmd("mkdir <#DBL>"+FOLDER+"TxtFile<#DBL>") FOLDER = FOLDER+"TxtFile\" // 作成する拡張子 拡張子前に必ず . (「る」のキー ) KAKU = ".txt" // エディタ ( フルパスで指定する場合で空白を含む場合、""を挟まない ) // ○例:EDITOR = "c:\test data\notepad.exe" // ×例:EDITOR = ""c:\test data\notepad.exe"" EDITOR = "notepad.exe" // ----------------------------------------- WHILE (TRUE) // 見張り待機秒 =0.5秒 これがないと CPU食います、0は厳禁 // 感度 ( 反応 ) をよくしたい場合は SLEEP(0.2) ぐらいに SLEEP(0.5) // ALT+Qキー 同時押しでテキストを呼び出します IFB GETKEYSTATE(VK_ALT) and GETKEYSTATE(VK_Q) then // タイトルとEXE名 取得 id=GETID(GET_FROMPOINT_WIN) msg=STATUS(id, ST_TITLE) msg2=STATUS(id, ST_PATH) // 実行EXE名のみ取得 TXT_SU = POS("\",msg2,-1) msg2 = COPYB(msg2,TXT_SU+1) // 拡張子付加 FNAME1 = msg2+" [["+msg+"]]"+KAKU // 作成するファイル名で使えない文字を置換 > タイトル名 FNAME1 = REPLACE(FNAME1,"~","〜") FNAME1 = REPLACE(FNAME1,"&","&") FNAME1 = REPLACE(FNAME1,"!","!") FNAME1 = REPLACE(FNAME1,"<","<") FNAME1 = REPLACE(FNAME1,">",">") FNAME1 = REPLACE(FNAME1,"?","?") FNAME1 = REPLACE(FNAME1,"^","_") FNAME1 = REPLACE(FNAME1,"\"," ") FNAME1 = REPLACE(FNAME1,":",":") // 作成前にファイルの存在確認 CHK_FILE = "<#DBL>"+FOLDER+FNAME1+"<#DBL>" IFB FOPEN(CHK_FILE, F_EXISTS) // ファイルを開く前に吹き出しでファイル名を表示 // 不要ならこの行は消してください FUKIDASI("以下のファイルを開きます。<#CR><#DBL>"+FOLDER+FNAME1+"<#DBL>",0,0,1,14,,$00000,$c0c0c0) SLEEP(1) // ファイルが存在したら指定したエディタで開く EXE2 = "start <#DBL><#DBL> <#DBL>"+EDITOR+"<#DBL> <#DBL>"+FOLDER+FNAME1+"<#DBL>" DOSCMD(EXE2,TRUE) SLEEP(1) // 上で出した吹き出しを消します // 上で吹き出しを呼び出さないならこの行は消してください FUKIDASI(,0,0,1,14,,$00000,$c0c0c0) ELSE // 該当データがない場合 作成か戻るか確認 ( 20秒で自動終了 ) SELECT SLCTBOX(SLCT_BTN, 20, FNAME1+"<#CR><#CR>該当データが見つかりません", "何もしないで終了", "作成する", "フォルダを開く") CASE -1 CASE SLCT_1 // 何もしないです CASE SLCT_2 // ファイルが存在しなかったらデータを作成 FNAME2 = "type nul > <#DBL>"+FOLDER+FNAME1+"<#DBL>" DOSCMD(FNAME2) // ファイルを開く前に吹き出しでファイル名を表示 // 不要ならこの行は消してください FUKIDASI("以下のファイルを開きます。<#CR><#DBL>"+FOLDER+FNAME1+"<#DBL>",0,0,1,14,,$00000,$c0c0c0) SLEEP(1) // ファイルが存在したら指定したエディタで開く EXE2 = "start <#DBL><#DBL> <#DBL>"+EDITOR+"<#DBL> <#DBL>"+FOLDER+FNAME1+"<#DBL>" DOSCMD(EXE2,TRUE) SLEEP(1) // 上で出した吹き出しを消します // 上で吹き出しを呼び出さないならこの行は消してください FUKIDASI(,0,0,1,14,,$00000,$c0c0c0) CASE SLCT_3 // フォルダを開く DOSCMD("Explorer.exe <#DBL>"+FOLDER+"<#DBL>",TRUE) // 該当ファイルがない場合で選択ダイアログが出て何も選択しない場合 ここに来ます CASE 0 SELEND // 消さない ENDIF // ------------------------- ENDIF WEND // F10キーを押すとここに飛ぶ ( 終了 ) procedure GotoStop() // 吹き出しで終了をお知らせ FUKIDASI("見張りを終了します。",0,0,1,14,,$00000,$c0c0c0) SLEEP(2) // ダイアログの方がいい場合はこちらを有効に // MSGBOX("見張りを終了します。",BTN_OK)  exitexit fend