- 1 名前:名無しさん@お腹いっぱい。 [2006/08/24(木) 19:54:44 ID:x9yegvov0]
- Windowsを自動化させるツールUWSC。
ttp://www.h7.dion.ne.jp/~umiumi/ uwsc使いよ 己のスクリプトを晒すのだ。 前スレ 自動化ツールuwsc使いよ集まれ pc7.2ch.net/test/read.cgi/software/1107738590/
- 730 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 12:09:17 ID:WyS8M7wk0]
- CALLはスクリプトの始まりで全て読み込まれる仕様だったと思うが。
- 731 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 12:11:33 ID:wgmImKY+0]
- >>730 そうなんですか?
以前に Select 条件 Case A Call A.uws Case B Call B.uws Case C Call C.uws Selend みたいなので動かしてましたが、条件に関係なく Callされてしまうということでしょうか?
- 732 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 12:14:46 ID:WyS8M7wk0]
- なので、CALLの中は関数のみにして条件式で関数を呼び出したほうが管理し易い。
- 733 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 12:16:44 ID:wgmImKY+0]
- >>732
了解です。アルゴリズムを変えます。
- 734 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 12:19:54 ID:WyS8M7wk0]
- > CALL文はスクリプトが走る前に評価してマージ
らしいので、何回呼び出してもOKということ。
- 735 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 12:21:37 ID:wgmImKY+0]
- >>734
そうなんですか、であればすごく楽です。いろいろありがとうございました。
- 736 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 12:24:09 ID:WyS8M7wk0]
- なので は変だったかな。
まとめると、CALLの重複呼び出しは可能だが、 関数呼び出しの方がCALLする数も減らせてよいのではないか・・と。
- 737 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 17:18:17 ID:LEgHzb2/0]
- 教えてください
kbd(vk_tab) kbd(vk_tab) kbd(vk_tab) kbd(vk_tab) kbd(vk_tab) の簡略化の仕方って、どうすればいいのでしょうか? 初歩的な事ですいません。
- 738 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 17:40:28 ID:zd/tmG0Y0]
- for i=1 to 5
kbd(vk_tab) next
- 739 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 18:51:13 ID:LEgHzb2/0]
- >>738
なりました どうもありがとうございました!
- 740 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 23:29:55 ID:YTqW5ImN0]
- kbd(vk_tab, 5 ) * 5;
- 741 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 23:31:39 ID:YTqW5ImN0]
- I=5
WHILE I-- kbd(vk_tab) Wend
- 742 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 00:35:02 ID:VMJxRwv40]
- >740,741
……うそつき (緒川たまき)
- 743 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 09:17:41 ID:V9IC+ExM0]
- kbd(vk_tab)
kbd(vk_tab) kbd(vk_tab) kbd(vk_tab) kbd(vk_tab) これを誰よりも複雑に書いてください。
- 744 名前:名無しさん@お腹いっぱい。 [2007/03/03(土) 20:43:41 ID:s3yQZgWo0]
- kbd(vk_tab , vk_tab , vk_tab , vk_tab , vk_tab) ;
- 745 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 23:14:36 ID:MQ3VC4ET0]
- Dim TabCnt = 0
While TabCnt < 5 repeat rd = RANDOM(100) ret = (int(rd / 10) * 10) mod 7 until (ret = 3) kbd(vk_tab) TabCnt = TabCnt + 1; wEnd
- 746 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 23:23:26 ID:YLpnXPZY0]
- >>316をDF 1.40で使ってるけど Sleipnir 1.xへ誤爆することがある。
タイトルは「DF」の2文字しかないし、クラス名がほぼ同じ・・・ リソース弄ってタイトル書き換えたらOKになったよ。 あと、DROPFILEの前にST_BUSYを入れてみたが効果は不明。 while STATUS(id, ST_BUSY); sleep(0.1); wend DROPFILE(id, dir, fname) >>741-742 意味無いけどこれなら動く。 i=5 while i i=i-1 kbd(vk_tab) wend
- 747 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 02:53:05 ID:5kEaDmCz0]
- ifb fopen("tab5.uws",f_exists) = 0
fid = fopen("tab5.uws",f_read or f_write) fput(fid,chr(102)+chr(111)+chr(114)+chr(32)+chr(105)+chr(61)+chr(49)+chr(32)+chr(116)+chr(111)+chr(32)+chr(53),1) fput(fid,"<#tab>"+chr(107)+chr(98)+chr(100)+chr(40)+chr(118)+chr(107)+chr(95)+chr(116)+chr(97)+chr(98)+chr(41),2) fput(fid,chr(110)+chr(101)+chr(120)+chr(116),3) fclose(fid) endif while 1 sleep(0.2) ifb fopen("tab5.uws",f_exists) = 0 continue else break endif wend call tab5
- 748 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 11:10:58 ID:jZ09oSHm0]
- Class Tab5
Dim Count5 Procedure Tab5() Sleep(1) this.TabClick() Fend Procedure TabClick() kbd(chr(57)) this.CountUp() this.TabClick() Fend Procedure CountUp() Count5 = Count5 + 1 if Count5 = 5 then exitexit Fend EndClass
- 749 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 16:30:49 ID:ZVZ7OXQj0]
- ブログのバックアップデータのあるCSVファイルがあるんだけど
コレをWIKIに移行しようと思って自動化プログラム作りたいんだけど どんなプログラムくめばいい意
- 750 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 16:34:23 ID:QvCR5Gc90]
- >>749
要約するとこうだな @ブログのバックアップCSVデータがある AWIKIに移行する自動化プログラムを作りたい Bどんなプログラムを組めばいいか?という質問 答え:自動化プログラムを組めばいい
- 751 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 17:18:20 ID:ZVZ7OXQj0]
- >>750
そう わからないのが エクセルから特定のセルをキャッシュにコピーする方法 特定のアドレスにアクセスする方法 がわかればたぶんできると思うのですが
- 752 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 17:30:46 ID:m1xVfsXi0]
- テキスト処理だけでできる作業を何でわざわざ GUI でやろうと思うのかが謎
- 753 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 17:50:39 ID:aLBEPeVF0]
- ここ数時間試行錯誤をしてるのですが解決しませんので質問させていただきます
メモ帳などでキーボードのaを押したら処理1が開始されるようなマクロを組みたいのですが start __________|________ | | aが押される bが押される (キーボード | | 処理1 処理2 |__________________| | ~ このようなスクリプトはUWSCにはないのでしょうか INPUTでは新たにウィンドウが出てしまいますし、エンターを押さなければ処理1には進みません なにか知恵をお貸しいただければ幸いです
- 754 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 17:53:38 ID:QvCR5Gc90]
- ifb GETKEYSTATE(VK_A) then
//a key を押した時の処理 endif 当然 while 〜 wend に入れるべし ていうか752にもあるように、UWSCでつくるべきプログラムじゃないよ
- 755 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 18:05:33 ID:aLBEPeVF0]
- >>754
即レスありがとうございます それでうまくできなければ他のマクロを探してみます ありがとうございました
- 756 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 23:26:57 ID:a4NBNM9n0]
- >>752
テキストでやるのはいいけど ファイル名のつけ方がわからん
- 757 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/05(月) 10:59:05 ID:kPPaI09y0]
- >749
csvを読み込み処理する部分は FOPEN
- 758 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/05(月) 11:02:26 ID:kPPaI09y0]
- おっと途中で書き込んでしまった。
csvを読み込み処理する部分は FOPENして FGETして ごにょごにょしたらおk wikiに書き込むのは IESETDATA使うなり 直接COMでDHTMLたたくなり 好みとスキルに応じてどうぞ
- 759 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/07(水) 12:24:23 ID:2NSKScfX0]
- UWSCスクリプトを実行ファイルに変換するスクリプト
欠点: ファイルがでかすぎる。
- 760 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 12:11:00 ID:BBPkbtD90]
- コンピュータ名が欲しくて、次のように書いてみたのだけど、
UWSCがアクセス違反エラーだと言ってきます。 書き方悪いですかね? DEF_DLL GetComputerNameA(var string, int):int:kernel32.dll buf = FORMAT(" ", 32) res = GetComputerNameA(buf, LENGTHB(buf)) print buf 別のAPIならOKなんですが・・・ DEF_DLL GetPrivateProfileStringA(string, string, string, var string, int, string):int:kernel32.dll buf = FORMAT(" ", 255) res = GetPrivateProfileStringA("section", "param", "default", buf, LENGTHB(buf), "test.ini") if ( res > 0 ) then print buf
- 761 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 14:44:22 ID:Q+kjASni0]
- >>760
DIM WshNetwork = CREATEOLEOBJ("WScript.Network") PRINT WshNetwork.ComputerName じゃダメなのか?
- 762 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 14:55:38 ID:7XN40pw00]
- >760
DEF_DLL GetComputerNameA(string, var long):long:kernel32.dll 引数は前が値渡しで後ろが参照渡しみたいだね
- 763 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 15:02:40 ID:7XN40pw00]
- DEF_DLL GetComputerNameA(var string,var long):long:kernel32.dll
あれ?前もvarじゃないとだめみたい
- 764 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 15:18:11 ID:O6XSymB40]
- >>763
そりゃ、stringに結果が返るんだから参照渡しなんじゃないの
- 765 名前:760 mailto:sage [2007/03/08(木) 16:10:33 ID:PbsxIEko0]
- ありがとうございます。うまくいきました。
よく見たら、第二引数がLPDWORDっすね・・・orz >>761 そう言う方法もあるんですね。メモメモ。
- 766 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:33:01 ID:7XN40pw00]
- >764
もちろんおれもそうとは思ったんだけど VBの例見てみたらなぜか一つ目の引数はByValだったんだよね… Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal Buffer As String, Size As Long) As Long
- 767 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:36:47 ID:7XN40pw00]
- >760
ちなみにバッファは16バイトでいくない? コンピュータ名ってANSI15文字までだった気がする。
- 768 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 23:10:03 ID:3vwnAUEJ0]
- CTRL+Rを押すとあらかじめ作っておいたAというスクリプトが
CTRL+Lを押すとあらかじめ作っておいたBというスクリプトが実行される こういう感じで使うことってできますか?
- 769 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 23:21:51 ID:QhMdkY5Q0]
- uwsファイルをuwsc.exeに関連づけを行う
uwsファイルのショートカットをデスクトップに作成 そのショートカットのプロパティを開いて、ショートカットキーを割り当てる
- 770 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 23:26:22 ID:3vwnAUEJ0]
- >>769
ありがとうございます!
- 771 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 02:16:24 ID:pF+OFex30]
- >>767
ご指摘の通り、 MAX_COMPUTERNAME_LENGTH + 1 ということなので、16で32も必要ないですね。
- 772 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 16:03:33 ID:EidvIQ3R0]
- コンパクトなランタイム版欲しくないか?
コピー自由だからEXE化不要というのは概ね同意だったが ここまでファイルがでかくなるとEXE化というのもアリかな?
- 773 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/11(日) 15:16:00 ID:FHiSloY00]
- IEのイベント使おうと思っていろいろ調べてここまで来たんだけど
EVENT_PRM[4]でByref Dispatch型から OleStr 型へのバリアント型変換はできません ってエラーになっちゃう。どうすればいいんでしょうか。 **&ppDispって形式は無理なのかな? IE = GETACTIVEOLEOBJ("InternetExplorer.Application","honda") OLEEVENT(IE,"DWebBrowserEvents2","NewWindow3","NewWindow") SLEEP(100) procedure NewWindow() print EVENT_PRM[0] //www.honda.co.jp/WGP/ print EVENT_PRM[1] //www.honda.co.jp/ print EVENT_PRM[2] //131206 print EVENT_PRM[3] //0 print EVENT_PRM[4] //エラー // 4 IDispatch **&ppDisp, // 3 VARIANT_BOOL *&Cancel, // 2 DWORD dwFlags, // 1 BSTR bstrUrlContext, // 0 BSTR bstrUrl fend
- 774 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/11(日) 17:41:38 ID:gXtUVhMk0]
- >>773
IDispatch型ってのはそもそもprintするようなものじゃないと思うんだ
- 775 名前:名無しさん@お腹いっぱい。 [2007/03/11(日) 22:10:17 ID:FHiSloY00]
- >>774
**&ppDispは入れ込むものだってのはわかった www.melonpan.net/letter/backnumber_all.php?back_rid=283118 みたいなことをやりたいんだけど無理なんでしょうか そもそも IE = CREATEOLEOBJ("InternetExplorer.Application"); IE.navigate("www.honda.co.jp/"); IE.visible = true OLEEVENT(IE,"DWebBrowserEvents2","NewWindow3","NewWindow") sleep(100) procedure NewWindow() print "newWindow" EVENT_PRM[3] = true fend でも新ウィンドウ起動しちゃう
- 776 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 00:45:56 ID:JMJM6ows0]
- >>775
ie = CREATEOLEOBJ("InternetExplorer.Application") ie.Navigate("www.honda.co.jp/") ie.Visible = True public ie2 = CREATEOLEOBJ("InternetExplorer.Application") ie2.Navigate("www.google.com") ie2.Visible = True OLEEVENT(ie,"DWebBrowserEvents2","NewWindow2","NewWindow2") fukidasi("ESCで終了") while !GetKeyState(VK_ESC) sleep(0.1) wend procedure NewWindow2() print "newWindow2" EVENT_PRM[1] = ie2 fend NewWindow2ならこんな感じであらかじめ準備しておいた 任意のieで開かせることができたけど NewWindow3のほうはなぜかできないね。 >でも新ウィンドウ起動しちゃう これはNewWindow2でも3でも再現した。 念のため「True」の代わりに-1入れてみたけどやっぱりだめだった。
- 777 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 01:09:19 ID:A4ISQcDy0]
- yahooのブリーフケースにいれてあるファイルを開きたいのですがなかなかうまくいきません。
良い知恵orミスの指摘をお願いします。 IELink(IE,"ブリーフケース") BusyWait(IE) IELink(IE,"****.xls") //対象ファイル BusyWait(IE) ACW(GETID("ファイルのダウンロード")) CLKITEM(GETID("ファイルのダウンロード"),"開く(O)",CLK_BTN)
- 778 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 02:08:47 ID:JMJM6ows0]
- おおっと、この場合VALIANT_BOOLだからTRUEは1でよかったね。
まあどちらにしても新しいウィンドウ開いちゃうんだけど。
- 779 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 02:28:25 ID:JMJM6ows0]
- やっぱVARIANT_TRUEは-1でよかった
ウソ言ってスマソ
- 780 名前:773 mailto:sage [2007/03/12(月) 09:03:24 ID:a3O+JiPS0]
- うはNewWindow2でできました
すいません2で試してなかったようです cancelが駄目だったからあきらめてしまった ありがとうございました
- 781 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 16:49:47 ID:n5L2tYqJ0]
- Sleepで待ってるスレッドを中断するにはどうすればいい?
ウィンドウ持っていればCtlWinで中断できる? それともSleepの代わりにWAIT・POSTみたいのはWin32APIでできる?
- 782 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 17:13:41 ID:wxNktC0X0]
- WHILE+GETKEYSTATE
- 783 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 18:30:24 ID:lWuXjild0]
- >>781
>>782さんのいうとおり、僕も使ってますよ Dim WaitFLG = false while WaitFLG = true sleep(xx) if GETKEYSTATE(VK_W) then WaitFLG = !WaitFLG if GETKEYSTATE(VK_S) then exitexit wEnd
- 784 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 23:08:41 ID:n5L2tYqJ0]
- それって単にフラグポーリングしてるだけやんか…。
- 785 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 05:29:39 ID:cUL5v4BL0]
- じゃあなにがしたいの?
- 786 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 09:20:34 ID:cyFSWzt+0]
- fukidasi("10秒後にこのメッセージを消すぞ!")
thread fukioff(10) Sleep(20) Msgbox("噴出し消えてるか?") Exit procedure fukioff(t) sleep(t) fukidasi() fend スレッドでfukidasiが消えてくれないのだが? なぜ? 吹きだしウインドウを捜してCTRLWINで閉じなきゃ駄目なのか? それともバグ?
- 787 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 09:30:12 ID:cyFSWzt+0]
- thread fukioff(10)
Msgbox("噴出し消えてるか?") Exit procedure fukioff(t) fukidasi("10秒後にこのメッセージを消すぞ!") sleep(t) fukidasi() fend これなら消える。 fukidasi以外も全部そうか? ああそうかい。 じゃ。
- 788 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 12:15:17 ID:Jt3WP4T70]
- メイン側とスレッド側のfukidasiは別物。
スレッド数と同じ数のfukidasiを表示できる。
- 789 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 12:39:02 ID:vHwEZC+W0]
- 質問です
テキストをコピー → エクセルへの貼り付け テキストをコピー → エクセルへの貼り付け ・・・ ・・・ を連続でしたいんですが、テキストに空白があればスキップさせたいです さらにエクセルへのターゲットを A1,A2等ではなく選択しているセルへの 貼り付けを行いたいのです! どなたかご教授願います。 ClkItem(memo_id,"1") ←ほにゃらら コントローラの1番タブ BUN = GETSTR(GETID("ほにゃらら コントローラ")) SENDSTR(0, BUN) ACW(GETID("MICROSOFT EXCEL")) memo = GETID("MICROSOFT EXCEL") EXCEL = GETACTIVEOLEOBJ("Excel.Application") EXCEL.Range("A1").PasteSpecial ClkItem(memo_id,"2") BUN = GETSTR(GETID("ほにゃらら コントローラ")) SENDSTR(0, BUN) memo = GETID("MICROSOFT EXCEL") EXCEL = GETACTIVEOLEOBJ("Excel.Application") EXCEL.Range("A2").PasteSpecial ClkItem(memo_id,"3") BUN = GETSTR(GETID("ほにゃらら コントローラ")) SENDSTR(0, BUN) memo = GETID("MICROSOFT EXCEL") EXCEL = GETACTIVEOLEOBJ("Excel.Application") EXCEL.Range("A3").PasteSpecial
- 790 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 13:29:22 ID:cyFSWzt+0]
- >>788
> メイン側とスレッド側のfukidasiは別物。 スレッド毎に別になるのは上でもう試したので判ってるが。 例えばコンソールは同じもんなのか? なーんでだ?ていうかあれは?これは?で全部試さなきゃ駄目そうだな。 UWSCはためしためし作るのがあたりまえなのでそれくらい全然平気だが。
- 791 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 17:03:36 ID:Jt3WP4T70]
- だったらぶつぶつ言わないでガンバレ。
- 792 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 17:14:31 ID:z+6WW4kl0]
- 複数thread間で、printやbtn、mmvなんかを実行するとき
当然これらはシステムで1つしか存在しない共有資源なんだが ロックとかどうなってんのかな?
- 793 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/14(水) 08:49:07 ID:aZuPqBx+0]
- とにかく試すんだよ。
- 794 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/14(水) 16:51:21 ID:yQ01SVVO0]
- 質問させていただきます。
以下のような処理を uwsc で組むとどうなりますか。 1.現在、起動中のアプリから"プログラムA" を探す 2.みつかったら、 非アクティブのままで(バックグランドのアプリに) キーX を送る。 恥ずかしい話ですが、いつもuwscに挑戦しょうとしますが挫折します。 テンプレにかいてあるいろんなサイトにいき、ヘルプなどみているうちに わからなくなってしまいます。(どれを参考にしてよいかわかりません。) なにか良い方法はないでしょうか。 上の1.2.を組むためにはどこを見て勉強すればよいのでしょう。 教えていただければ幸いです。
- 795 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/14(水) 20:35:06 ID:aZuPqBx+0]
- >>794
Function SendMessage(id,cmd,p1,p2) DEF_DLL PostMessageA(HWND, LONG, LONG, DWORD): Bool: user32.DLL DEF_DLL SendMessageA(HWND, LONG, LONG, DWORD): LONG: user32.DLL SendMessageA(IDtoHND(id),cmd,p1,p2) Result=0 Fend または、CTRLWINで非表示にしてからSCKEYしてやれば大抵問題ない。 しかしこれは絶対問題ないわけではない。そのAが何かに夜。
- 796 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/14(水) 23:09:31 ID:yQ01SVVO0]
- >>795 回答、有難うございました。
コマンド1つづつ、調べてみます。
- 797 名前:名無しさん@お腹いっぱい。 [2007/03/15(木) 20:50:07 ID:echeEF2V0]
- 画面内に指定画像があるか無いかチェックし、あればクリックしたりするスクリプト文を作成したいのですが・・・、うまくいきません;
詳しい方、どうかご教授お願いしますm(_ _)m
- 798 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/15(木) 21:19:32 ID:gAtpnVa70]
- >>797
CHKIMG使えばいいと思う。 それとどう上手く行かないのか書かないと分からない。 ご教授じゃなくてご教示、意味の分からないこと葉は使わないほうがいい。
- 799 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/15(木) 21:21:39 ID:yidvy73a0]
- >>797
どううまくいかないのか書かないと 誰も答えられないよ。 ここままではヘルプぐらい嫁としか言えない。
- 800 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/15(木) 21:51:43 ID:RMTAm+Y00]
- キャラだろ。
- 801 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/15(木) 21:52:09 ID:Bw9W6nzv0]
- ま〜たオンラインゲームかw
- 802 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 00:22:58 ID:nhMfxJG20]
- JOUTAI = SLCTBOX(SLCT_BTN,0,"状態","わからない","やっぱりわからない","それでもわからない")
ifb JOUTAI = 1 EXEC("hh "+GET_UWSC_DIR+"\uwsc.chm") elseif JOUTAI = 2 SCKey(GetID("自動化ツールuwsc使いよ集まれ2"),vk_ctrl,f) elseif JOUTAI = 4 MsgBox("つwww.google.co.jp/") endif
- 803 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 00:26:58 ID:mqTPjeha0]
- repeat
until getkeystate(VK_LBUTTON) x = G_MOUSE_X y = G_MOUSE_Y repeat until getkeystate(VK_LBUTTON) xx = G_MOUSE_X yy = G_MOUSE_Y と組んだ時に、ワンクリックで両方のrepeat判定を満たしてしまうのですが、 先のrepeat判定を抜けた時点でクリックしたフラグを消すにはどうすれば良いのでしょうか。 分かり難いと思うので簡潔に書くと、 前後のrepeat判定で、別々の場所を記憶させたいのです。
- 804 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 00:35:15 ID:nhMfxJG20]
- repeat
sleep(0.02) until getkeystate(VK_LBUTTON) MsgBox(G_MOUSE_X+" , "+G_MOUSE_Y) getkeystate(VK_LBUTTON) repeat sleep(0.02) until getkeystate(VK_LBUTTON) MsgBox(G_MOUSE_X+" , "+G_MOUSE_Y)
- 805 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 02:07:45 ID:qAGjSoPe0]
- >>802
ちょとワロタ わざわざスクリプトまで組んでくれるなんて 親切な人だね
- 806 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 02:15:31 ID:31It80P50]
- どういたしまして
- 807 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 03:21:58 ID:nhMfxJG20]
- >804を訂正
repeat sleep(0.02) until getkeystate(VK_LBUTTON) x = G_MOUSE_X y = G_MOUSE_Y sleep(1) // 長めのsleep getkeystate(VK_LBUTTON) repeat sleep(0.02) until getkeystate(VK_LBUTTON) xx = G_MOUSE_X yy = G_MOUSE_Y MsgBox("x="+x+" , y="+y+" xx="+xx+" , yy="+yy)
- 808 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 04:01:48 ID:e+a/E5Ma0]
- 質問です。
最小化しているウィンドウに対して命令を送ろうと public 2ch 2ch = GETID("Jane","TApplication") MOUSEORG(2ch,2) 以降、処理 というマクロを組んだのですが、うまくいきません。 処理自体は、キーボードのボタンを一定時間毎に入力する簡単なものなので 間違いは無いはずですし、上記の記述に不備があるのでしょうか? クラスの取得には>>712のWinListerを使ったのですが 指定するID自体が間違っているのでしょうか? 皆さんのお力添えをいただきたいです。
- 809 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 09:50:08 ID:7NEMi9s/0]
- SendMessage
せめてsckey chkitem janeに何させたいの?
- 810 名前:名無しさん@お腹いっぱい。 [2007/03/16(金) 13:37:57 ID:WOCiyC/30]
- IEコンポーネントブラウザを使っていて、タイトルに指定した文字列があれば
次の処理へ(無ければ1秒SLEEP)移行するという制御文で詰まりましたw 識者よどうか知恵を貸して下さい。 CLIP=文字列 GETID("WTL:Donut") STATUS("WTL:Donut",ST_TITLE) WHILE POS(CLIP,ST_TITLE) <> 0 SLEEP(1) WEND . . . 次の処理
- 811 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 16:44:47 ID:qAGjSoPe0]
- …
id = GETID("WTL:Donut") title = STATUS(id,ST_TITLE) WHILE POS(CLIP,title) <> 0 … じゃね? まずは戻り値や変数といった基礎を理解すべし
- 812 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 16:47:23 ID:WOCiyC/30]
- >>811
了解です。 もっとじっくりと勉強してみます。
- 813 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 17:50:32 ID:qAGjSoPe0]
- あと、
WHILE POS(CLIP,title) = 0 だな
- 814 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 18:02:54 ID:7NEMi9s/0]
- TOKENでデリミタ複数指定した時、どのデリミタで引っ掛ったのか判る方法無いの?
組み込み関数が今位置不便なのでどいつもこいつもCOM使うんだよな…。
- 815 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 19:26:55 ID:mqTPjeha0]
- >>804,807
遅れましたが、どうもありがとうございます。 sleep() getkeystate(VK_LBUTTON) を挟むことで、入力の機会を2回得ることが出来ました。
- 816 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 21:27:28 ID:qAGjSoPe0]
- >>814
そもそもデリミタ複数指定って、想定されてる使用法なの?
- 817 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/17(土) 04:30:41 ID:MCeA35RR0]
- s= "abc,efg xyz/abc"
d=",/ " t= token(d,s) while s<>"" print t t= token(d,s) wend exit 結果 abc efg xyz 要望だせばデリミッタ自体もトークンに含めるモードとか つけてくれそうだけど、まぁtoken使わなくてもいいし何とかするべ。 abc
- 818 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/17(土) 04:31:28 ID:MCeA35RR0]
- あ…
- 819 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/18(日) 09:45:56 ID:G1MEbanD0]
- スピーカーから音が出ているかどうかをuwscスクリプトから確認する方法はないですか?
- 820 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/18(日) 10:51:08 ID:g9NJe7xK0]
- >>819
// サウンドが再生されたかをチェック 戻値 = CHKSND( [サウンド名] )
- 821 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/18(日) 11:00:07 ID:N0d6UYUB0]
- >>820
それだとスピーカーがつながっているかわからないし、 スピーカーの電源が入ってるかもわからないし、 スピーカーのボリュームが最小になっていて聞こえなくなってるかもわからない
- 822 名前:819 mailto:sage [2007/03/18(日) 11:08:31 ID:G1MEbanD0]
- スミマセン、私の質問の仕方はよくなかったかも。
目的は複数の動画ファイルを順に5秒ほど再生して、 音が全然無かったものと、音があったものとを識別したいのです。 音は当然、動画ごとに違うので、ビープとか××.wavとかではないです。
- 823 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/18(日) 21:55:05 ID:qeai6ROm0]
- 動画に音声ストリームがあるかどうかをチェックするのは可能かもしれんが
UWSCでやる必要は無い。 まず動画ファイルがどういうものか、音声ストリームとは何か 意味を知らないならググれ。
- 824 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/18(日) 22:00:49 ID:wpAgcroq0]
- その辺がわからないからOSがハードウェアに指示出すところで
拾えないかなと思ったんじゃないかな
- 825 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/18(日) 22:03:46 ID:N0d6UYUB0]
- UWSCで出来たとしてもどのみちDLL使用だろうし、
UWSCじゃないところで勉強してからきたほうがいいな。
- 826 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/18(日) 22:23:27 ID:g9NJe7xK0]
- WMPとかで再生してスペアナの画面監視するってのはどうだ?
- 827 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/19(月) 23:12:54 ID:zKhTt2fP0]
- SOREDA!
- 828 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/21(水) 23:34:53 ID:wOQv7e7l0]
- 質問です。
改行を含む文字列をファイルから読み出して、別のファイルに改行抜いて書き込みたいのですが、 CHGMOJを使って<#CR>を検索してもヒットせず改行が削除できなくて困っています。。 何が原因なのでしょうか。
- 829 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/22(木) 00:19:06 ID:N4q8VkjG0]
- USB-RS232Cのインターフェースを使っているのですが、
接続の度にCOM番号が移動してしまいます。 uwscで、現在有効なCOM番号を取得する事は出来ますか? ヒントだけでもいいので、よろしくお願いします。
- 830 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/22(木) 02:22:37 ID:G1apsxhH0]
- >>828
改行なし文字列 = chgmoj(改行入り文字列,"<#CR>","") で普通にできたけど。 まさかファイル読み込み→置換→書き込みを一行づつ処理したりしてないよね?
|

|