06/12/30 12:34:47 ANEL7PPk0
覚えちゃえば簡単でも最初の一歩が面倒だなぁ~と。
PythonとかRubyとかWSHとか一般的なスクリプト言語なら、
元々使える人も多いだろうし覚えれば他でも役に立つから、
いっちょ勉強してみようかという気分になるんだけど、
UWSC専用のスクリプト言語だと勉強する気になれなかった。。
俺がヘタレなだけですね・・・すみません。
API形式って書いたのは、VBとかで作った他のアプリから、
UWSCの機能を直接利用できれば便利かなぁ~と思いますた。
512:名無しさん@お腹いっぱい。
06/12/30 13:48:27 /Z9WeWQd0
>>511
> PythonとかRubyとかWSHとか一般的なスクリプト言語なら、
> 元々使える人も多いだろうし覚えれば他でも役に立つから、
ならそれ使えよ。Win32API用のDLL使えば同じような事が出来る。
そんでもってスレ違いになるだけ。
そもそもUWSCのが簡単だからUWSCなんだろ。
駄目なところは一杯あるがご指摘の点は的外れだと思うね。
513:名無しさん@お腹いっぱい。
06/12/30 13:58:02 SutnxafG0
結局一般的なスクリプト言語で~云々言ってる奴は、
一般的なスクリプト言語とやらで同じ物を実装できないから
こんな事言ってるんだろうね。
まぁ、hook dll 書くのは面倒くさいが。
514:名無しさん@お腹いっぱい。
06/12/30 14:35:28 vjHGIByN0
もしも、UWSCが、独自スクリプトだけでなくVBSにも対応したら、俺は迷うことなくVBSを選ぶけどなw
515:名無しさん@お腹いっぱい。
06/12/30 16:18:39 ChwbhOea0
UWSCは独自スクリプトだからこそ、学習が早いと思うけどな。
Helpの量も少ないし分かり易いし。
516:名無しさん@お腹いっぱい。
06/12/30 16:26:37 63TfBtzq0
ちゃんとしたリファレンスが整備されないと使う気になれん
あとデバッカがほしい
517:名無しさん@お腹いっぱい。
06/12/30 18:06:19 vJlv9HOx0
>>511
探したらこんなソフトがあった
DLLとしてC#から利用できるみたいだから、VBからも使えるかも
でも .NET必須ってのが微妙…
WindowController
URLリンク(www.vector.co.jp)
最終的にUWSCを使うにしても、制御対象の解析に便利っぽい
てか、これの操作記録機能すごくね?
518:名無しさん@お腹いっぱい。
06/12/30 18:27:29 /Z9WeWQd0
>>514
VBSに対応って何?
VBSを迷わず使うって事はUWSCをWSHに対応って意味じゃないよな?
正直ぜんぜんスレ違い。WSHでWin32API呼び出すDLL使えよ。
最近のUWSCが妙に凝ってきてるからこういう考えが出て来るんだよな。
COM対応辺りからおかしくなってきた。
519:名無しさん@お腹いっぱい。
06/12/30 18:56:48 vJlv9HOx0
UWSCに対する意見や期待は、スレ違いなんかじゃないのでは?
君がプチキレて的外れな揚げ足取りしてる理由がわからない。
520:名無しさん@お腹いっぱい。
06/12/30 19:02:33 vJlv9HOx0
ごめん。俺もちょっと喧嘩腰だね。いろんな意見があってもいいんじゃないかなと言いたいだけ。年末に喧嘩(・A・)イクナイ
521:名無しさん@お腹いっぱい。
06/12/30 19:43:40 xZEP9LDN0
こちらも言い過ぎた、すまない。
522:名無しさん@お腹いっぱい。
06/12/31 00:05:12 GUv77j/A0
年末も年始関係無い。
いろんな意見があっていいのは当然だが
それが的外れかどうかはそれとはまた別。
523:名無しさん@お腹いっぱい。
06/12/31 00:51:34 bUzWRwUR0
s1 = "<#CR> <#CR> <#TAB> UWSC Uスクリプト <#CR><#TAB> <#CR>"
s2 = TrimJS(s1); msgbox("使用前=("+ s1 +")<#CR><#CR>使用後=("+ s2 +")")
function TrimJS(str) // 全角スペース対応TRIM (JScript)
sc = CreateOLEObj("ScriptControl")
sc.language = "JScript"
sc.AddCode("function t(s){return s.replace(/^[\s ]+|[\s ]+$/g,'')}")
Result = sc.Run("t", str)
fend
-----------------------------------------------------------------
// Uスクリプトだけの時は…
function TrimU(str) // 全角スペース対応TRIM (UWSC 4.0~)
str = TRIM(str)
while str<>""
ifb POS(" ",str)=1 then
str = TRIM(COPY(str,2,LENGTH(str)-1))
elseif POS(" ",str,-1)=LENGTH(str) then
str = TRIM(COPY(str,1,LENGTH(str)-1))
else
Break
endif
wend
Result = str
fend
-----------------------------------------------------------------
// …んで、いろいろ弄っているうちに、こんな事に…
// CHGMOJ がグローバルな置換をするとは今の今まで全く気付かなかったorz
// 文字列中の全角スペースを半角にしてしまうのでTRIM互換とは言えないけど。
s1 = "<#CR> <#CR> <#TAB> UWSC U スクリプト <#CR><#TAB> <#CR>"
s2 = TRIM(CHGMOJ(s1," "," ")) //■全角スペース対応TRIM擬
msgbox("使用前=("+ s1 +")<#CR><#CR>使用後=("+ s2 +")")
524:名無しさん@お腹いっぱい。
06/12/31 00:53:47 JE6fLdkp0
喧嘩すんなよ。
525:名無しさん@お腹いっぱい。
06/12/31 10:50:35 QsbDX1sl0
>>517
これいいね。開発の助けになる。
あとはウインドウメッセージをモニターできれば最高なんだが。
みなさんは、UWSCでの開発の補助にどんなソフト使ってますか?
自分はWinspector使ってます。spy++みたいにウィンドウの構造を見たりメッセージをモニタできます。
URLリンク(www.windows-spy.com)
526: 【中吉】 【1049円】
07/01/01 00:15:35 4F92swbf0
今年もUWSCにはお世話んなりますわ。
527:名無しさん@お腹いっぱい。
07/01/01 04:14:01 Yovlgfkv0
// madocon.uws
if GETID("窓コン","#32770",0.1)>0 then ExitExit
MadoCon = "MadoCon.exe" //■MadoCon.exe のパス
x = 365; y = 461 //■表示位置
idm = EXEC(MadoCon,False,x,y)
CLKITEM(idm,"作成",CLK_BTN)
idn = GETID("新規作成","#32770")
CLKITEM(idn,"コマンド",CLK_LIST)
CLKITEM(idn,"取込み",CLK_BTN)
while GETID("取り込み","#32770",0.1)>0; SLEEP(0.1); wend
while GETID("新規作成","#32770",0.1)>0
// wtitle = GETSTR(idn,1) // タイトル
// wclass = GETSTR(idn,2) // クラス
wparam = GETSTR(idn,3) // パラメータ (コマンドID)
if wparam="" then Break
SLEEP(0.1)
wend
if wparam<>"" and GETKEYSTATE(VK_CTRL) then SENDSTR(0,wparam) // クリップボード
CTRLWIN(idm,CLOSE2) // ダイアログが出ていてもメインウインドウを閉じる
528:名無しさん@お腹いっぱい。
07/01/01 05:41:16 HgQCbgDB0
ウィンドウの情報はWinmapでメッセージはSPY++かな?
あと窓コンも。
WinspectorとかSystree++とかも試した痕跡があるけど使って無いな。
たぶんなんか不都合があったのかSpy++があるからかだと思うが。
spy++ to MsgIDってのもあるけどこれ何だっけ?
※UWSCはやたら拡張するよりこの手のツールと統合化した方がいいと思うよ。
529:名無しさん@お腹いっぱい。
07/01/01 10:28:17 Y8saALnE0
文字の数、色、太さで識別して指定した場所をクリックさせることは可能?
530:名無しさん@お腹いっぱい。
07/01/01 10:59:06 4ne/Fmdr0
これは、エスパー待ちだな。
531:名無しさん@お腹いっぱい。
07/01/01 20:00:27 HgQCbgDB0
>>529
その前にそれをやるとどこがどう気持良いのか書けよ。
532:名無しさん@お腹いっぱい。
07/01/02 00:51:03 bFlzVkGw0
>>529
俺なりにエスパーした結果、やって出来ないことはないかもしれないけど
自前でソフト作ったほうが早いという結論が出たぞ。
533:名無しさん@お腹いっぱい。
07/01/02 03:28:00 SqVYKNkF0
プロセスのメモリを簡単に操作できるというMemory.dllをUWSCで使おうとしたのですが、
戻値が正しく出力されません。
def_dll ReadMemory(string,int,int,int):Memory.dll
pname="UsaTest2.EXE"
adr=00402148
rdata=0
ReadMemory(pname,adr,rdata,2)
msgbox(rdata)
どうやったらrdataに戻値を入れることが出来るでしょうか?
Memory.dll
URLリンク(www.vector.co.jp)
UsaTest2.EXE
URLリンク(www.vector.co.jp)
よろしくお願いします。
534:名無しさん@お腹いっぱい。
07/01/02 06:28:18 v+0SAelo0
>>533
これは勘だが、第三引数は参照渡しするべきじゃないか?
535:名無しさん@お腹いっぱい。
07/01/02 13:32:23 f/EOdE580
id= getid("●×","▽□")
Ver1.xの頃から思っていたがこれはやめたほうがいいよな?
見つけたウィンドウの寿命なんて保証が無いんだし。
俺は殆どのスクリプトでターゲットウィンドウに何かする時に
いちいちgetidでさがしなおしている。つまりsenstr(id,xxx)とか
idを引数に取っている関数は全てラッパをかけている。
autoitなんかもいちいち検索するようになってるみたいだが
uwscのこの点は根本を直して欲しい。
例えばターゲットディスクリプタみたいのを用意して
target= maketarget( ウィンドウタイトル、クラス名、その他もろもろ)
とかでターゲットハンドルをつくってあとはそれでコントロールするとか
そんな感じにすべき。
536:名無しさん@お腹いっぱい。
07/01/02 14:04:08 sr7fsaDq0
>idを引数に取っている関数は全てラッパをかけている。
すまんラッパーの意味が分からんので教えて頂けますか?
537:533
07/01/02 14:13:57 SqVYKNkF0
>>534
回答ありがとうございます。
解説サイト読んでみて一行目を
def_dll ReadMemory(string,int,var int,int):Memory.dll
この様に書き換えたのですが、やはり値が反映されません。
どこか間違えているのでしょうか?
538:名無しさん@お腹いっぱい。
07/01/02 14:34:07 f/EOdE580
>>536
ラップ流行ってるから知ってるだろ?
それともオッサンか?
539:533
07/01/02 14:34:30 SqVYKNkF0
すみません試行錯誤した結果、自己解決してしまいました。
三行目の
adr=
の後に$をつけるのを忘れていました。
540:名無しさん@お腹いっぱい。
07/01/04 12:07:57 CRC0/rhe0
x+y (x,yは任意の自然数)
このような形で書かれた文字列があるとします
この時、xだけを数値として取り出したいのですが、どうしたらよいのでしょうか?
C言語で書くとするとこんな感じのことをやりたいのですが
while(str[++i]!='+');
str[i]='\0';
atoi(str);
541:名無しさん@お腹いっぱい。
07/01/04 13:37:24 CDtr7kFp0
>>540
// 文字列に指定文字列があるか探す
戻値 = POS( 探す文字, 探される文字列, [n個目] )
// 文字列コピー
戻値 = COPY( 文字列, 開始位置, コピー文字数 )
// 文字型を数値に変える
戻値 = VAL( 文字列 )
これで適当にやってちょ
542:名無しさん@お腹いっぱい。
07/01/04 13:43:59 CRC0/rhe0
ありがとうございます
543:名無しさん@お腹いっぱい。
07/01/04 14:12:24 NfNDeecx0
>>540
'+'が固定ならTOKENで良いのでは?
544:名無しさん@お腹いっぱい。
07/01/04 15:45:22 CDtr7kFp0
// トークンの切り出し (指定文字で区切ったものを返す)
戻値 = TOKEN( 区切文字, var 文字列, [ 区切方法, ダブルコーテイションフラグ ] )
で一発だったね
545:名無しさん@お腹いっぱい。
07/01/05 10:42:25 VyUiwUts0
数字をJISとかのの数字の文字に直すにはどうしたらいいですか?
10だと31 30のようにしたいのですけれども
546:名無しさん@お腹いっぱい。
07/01/06 00:24:00 A77H/DD/0
>>545
a = "10"
c = ""
for i=1 to length(a)
c = c + format(asc(strconv(copy(a,i,1),sc_halfwidth)),1,-1)
if i<length(a) then c = c + " "
next
msgbox(c)
547:名無しさん@お腹いっぱい。
07/01/06 13:55:55 /QWIOIEx0
リストボックスの値をCLKITEMを使って変更しようとしても変更されないことがあります
というより「見かけ上は変化しているが、実際は変化していない」といった感じです
例えば下のようなリストボックス・ボタンがあったときに左を選択しようとすると、
見た目は左に変わるのですが、実行ボタンをクリックした時の動作は上のままなんです
そのリストボックスはCLK_ACCを使わないと動かない、マウスを上に乗せないと見た目すら変わらない、
というようにいくらか不可解な動作をしています
関係ないのかもしれませんが、何かの参考になれば
上▼ | [実行]
上 |
下 |
左 |
右 |
―┘
548:名無しさん@お腹いっぱい。
07/01/06 18:37:25 Cxfu2A0o0
>>546
サンクス天才!
549:名無しさん@お腹いっぱい。
07/01/08 11:33:30 4gmlHrqp0
全画面表示してるときに、スクリプトによっては必ず画面が切り分かるのとそうでないのがあるんですけど
なぜですかね??
550:名無しさん@お腹いっぱい。
07/01/09 00:27:13 gU8Ryzlh0
エスパー待ちだな
551:名無しさん@お腹いっぱい。
07/01/10 00:05:07 ua/+mf/b0
>>549
全画面表示してるときに、スクリプトによっては必ず
画面が切り分かるのとそうでないのがあるからだろ。
??
552:名無しさん@お腹いっぱい。
07/01/11 15:46:47 3AaqofY20
ローカルのIPをuwscで取得するにはどうすればいいですか?
553:名無しさん@お腹いっぱい。
07/01/11 23:52:48 WqkycWkF0
ipconfig
554:sage
07/01/12 01:23:04 ThZzr6Oc0
UWSC使ってみようと思いましたが
エクセルで c:\tes.xls を開き方がわかりません
どうやるの?
555:名無しさん@お腹いっぱい。
07/01/12 14:20:29 yd7QDL2U0
doscmd("c:\tes.xls")
556:名無しさん@お腹いっぱい。
07/01/14 01:34:27 beBI/GOV0
>>555
どうもありがとうございました。
557:名無しさん@お腹いっぱい。
07/01/14 04:11:13 x3aoKvoK0
URLリンク(ssl.gcrest.com)
こちらのソフトウエアなんですが、定時に異なるIDで多重起動させ
既存のUWSファイルで馬券購入を自動で行わせる方法など
「私なら出来ますよ」という方、「アイデアなら思いつきます」という方
いらっしゃいませんか?
558:名無しさん@お腹いっぱい。
07/01/14 09:54:17 im1/hPU60
>>557
> 「私なら出来ますよ」
で、いくらくれるの?
559:名無しさん@お腹いっぱい。
07/01/14 12:25:50 TMgxZHyJ0
UWSCの会社が出来てます。
560:名無しさん@お腹いっぱい。
07/01/14 14:38:31 vP4ye07F0
マウス左を下ろしているときに連打するってスクリプトを作りたいのですがうまくいきません。
while true
ifb BTN(LEFT) = 1 then
BTN(LEFT,click,1)
BTN(LEFT,click,1)
BTN(LEFT,click,1)
BTN(LEFT,click,1)
BTN(LEFT,click,1)
BTN(LEFT,click,1)
Exit
endif
wend
これでやるとずっとクリックし続けます(左クリックしてなくても)
アドバイスお願いします。
561:名無しさん@お腹いっぱい。
07/01/14 15:55:55 ZUVXcmxo0
>>560
BTN(LEFT)の比較の際にクリックされてる
while true
BTN(LEFT)
wend
これを実行してみろ
で、そもそもBTN()はボタンを押す関数であって、ボタンの状態を知るための関数じゃない。
そのための関数はGetKeyState()、これを使えばうまくいく。
562:名無しさん@お腹いっぱい。
07/01/14 17:09:44 vP4ye07F0
ifb GETKEYSTATE(BTN(LEFT,down))
構文がミス・・・これでもダメなようです・・・
勉強してきます;;
563:名無しさん@お腹いっぱい。
07/01/14 18:15:09 uoqeTuE50
>>562
ifb 使ってるんだから条件を書かなければいけないでしょ。
ifb GETKEYSTATE(BTN(LEFT,down))=1
とか。
564:名無しさん@お腹いっぱい。
07/01/14 18:28:32 gkw6cH5c0
>>560-563
レベル低すぎ
565:名無しさん@お腹いっぱい。
07/01/14 18:29:50 mLbNjCsz0
getkeystateにはvk_で始まる仮想キーしか渡せないんじゃなかったっけ?
左クリックの仮想キーはヘルプの一覧には見当たらなかった。
諦めて
if getkeystate(vk_alt) and getkeystate(vk_c) then btn(left,click,1)
とかにするしかないかもしれない。
566:名無しさん@お腹いっぱい。
07/01/14 19:48:15 l0qXvX3Z0
仮想キーって名前判ってるならググればすぐ判りそうなもんだけど…
VK_LBUTTON ($1)
567:名無しさん@お腹いっぱい。
07/01/14 22:24:57 TMgxZHyJ0
ゲームでイライラしている子供に熱心に教えるなんてエエハナシヤ( ´Д⊂
568:名無しさん@お腹いっぱい。
07/01/15 02:43:47 xk6goVHU0
[1]キーを1.0~2.0秒(0.1秒単位のランダム)で押すのを繰り返す
を作ってくれん?
569:名無しさん@お腹いっぱい。
07/01/16 01:38:38 47Ugvl4S0
このソフトはフルスクリーンのゲームも操作できるんでしょうか?
570:名無しさん@お腹いっぱい。
07/01/16 02:00:34 47Ugvl4S0
止め方教えてkづあさい
571:名無しさん@お腹いっぱい。
07/01/16 02:45:07 aGcj4GdP0
Alt + F2
572:名無しさん@お腹いっぱい。
07/01/16 23:37:14 XqBFUv3j0
>>568
レベル低すぎ
573:名無しさん@お腹いっぱい。
07/01/16 23:37:44 XqBFUv3j0
>>569
できるよ。相対座標使えばどうとでも
574:名無しさん@お腹いっぱい。
07/01/20 01:24:34 zDsd7Kso0
ヘルプ見たけど
スクランブルのかけ方がわかりませんでした
よかったら教えてください
575:名無しさん@お腹いっぱい。
07/01/20 06:15:44 EgRjIOdf0
俺はスクランブルというコピーに引かれ
スクランブルになるためにはどうすればよいのか考えた
スクランブルなのだからどんなこともできる
手始めに全裸で姉の部屋にアンゲロ、アンゲロとつぶやきながら飛び込む
タンスをこじ開けブラジャーを腰に巻きパンティーを頭にかぶる
姉が呆然としながら見てくるがスクランブルなので気にしない
姉のベッドに潜りこみ「幸せだから!幸せだから!」と絶叫
姉は無言で部屋から立ち去る
だがまだ最強には不十分
次は妹の部屋にムッシュムッシュと叫びながら飛び込む
妹は着がえをしている最中だったがスクランブルなので無視
半裸で逆立ちをしながら
「俺に充電しろ!!俺に充電しろ!!」と絶叫
妹は大泣きで退散
確実にスクランブルに近づく
開脚後転でトイレに飛び込み便座を外し首に掛ける
ゾンビの真似をしながら母の部屋に突撃
タンスを開けると一枚の写真発見
死んだ親父が俺を抱いている写真発見
俺は泣いた
576:名無しさん@お腹いっぱい。
07/01/20 13:23:40 rqmoT2lU0
ヒント・・コマンドプロンプトでパス指定 /a
でスクランブルかけれる
577:名無しさん@お腹いっぱい。
07/01/20 19:05:25 uRMPRV7/0
ぜんぜんわからないんだけど、vbスクリプト(wsh?)とどっちがいいのかな。
どっちか勉強しようかとおもってるんだけど、、、
エクセルとIEを連携させていろいろしたいんだ。
578:名無しさん@お腹いっぱい。
07/01/20 20:24:51 RFPdD2MV0
>>577
VBAでいいじゃん
579:名無しさん@お腹いっぱい。
07/01/21 05:22:39 Q4nEdwmO0
>>577
初めて勉強するならWSHがおすすめ。何よりも資料が豊富。
UWSCの書式は(VBS+JS)/2+αって感じだから… >>376
エクセル使いなら>>578が適当かも。
580:名無しさん@お腹いっぱい。
07/01/21 22:12:07 YnB2PVtI0
IE_SelectItem(1, "Tag='A',LinkText='文字列'")
IE_ItemProc(1, "CLICK", "")
IEとあるページで
<td width="30%"><a href="URL">文字列</a></td>
の「文字列」のところをクリックしたいんだけど
どうしてもできないので手助けお願いします。
エラー内容
IE_SelectItem の引数の形式が不適切です。
「'」が多すぎるか「,」が少なすぎます。
該当箇所: Tag='A',LinkText='現物買'
URLリンク(www.icnet.ne.jp)
ここの例が間違ってるの?
581:名無しさん@お腹いっぱい。
07/01/21 22:33:46 YnB2PVtI0
ついでにこのエラー
//
でコメントにしても
同じエラーになる
582:名無しさん@お腹いっぱい。
07/01/22 01:27:03 iOAPnPki0
>>580
UWSC Ver4~には対応してないらしい。
そのサブルーチンを使わなくても標準でできる。
ヘルプを見よう。
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("URLリンク(????)) // ←アドレス
while IE.Busy or IE.ReadyState<>4; SLEEP(0.1); wend
IELink(IE,"現物買") // ←クリックするリンクの表示文字
583:名無しさん@お腹いっぱい。
07/01/22 01:34:13 pabBt9LS0
ielink(IE,"文字列")
じゃダメなの?
584:名無しさん@お腹いっぱい。
07/01/22 03:05:22 a8PeaC4D0
>>582 >>583
ありがとうございます
再度 書き直してみます。
585:名無しさん@お腹いっぱい。
07/01/22 05:37:39 a8PeaC4D0
また行き詰ったorz
超速マクロテクの例では フォーム 要素名指定での入力は
うまく入力できるんだけど
Eトレサイトではなぜか
フォームへの入力ができない
IE.document.trg.price.value = "100"
エラー
Uスクリプト com_error
IE.document.trg.price.value = "100"
ここでは要素名では使えないってことなのかな?
586:名無しさん@お腹いっぱい。
07/01/24 16:28:19 UY8qL/2O0
特定ウインドウの文字列を取得したい場合、OCR機能を外部から取り入れて
入力欄にその取得文字列をインプットする様なコマンドってわかります?
587:名無しさん@お腹いっぱい。
07/01/24 16:41:18 oOdl/NuF0
日本語でおk
588:名無しさん@お腹いっぱい。
07/01/24 16:55:36 Tu3OEDDA0
>>586
INPUT( 表示メッセージ, [デフォルト値])
デフォルト値に取得した文字列(もしくはその変数)
589:名無しさん@お腹いっぱい。
07/01/24 19:43:58 QNCrSZg7O
リストビューの項目を選択するのを自動化したいんですが
ClkItem(id,"リストビュー項目",CLK_LSTVEW)
で、できないんですけど間違ってるんですか?選択したいのはインターネットブラウザの項目なんですが、
ClkItem(id,"リストビュー項目",CLK_ACC)だとできるんです。
ただこの場合リストビュー上にマウスを持っていかないと変わらないんです。
インターネットブラウザのリストビュー項目を自動選択するにはどうしたら良いですか?
590:名無しさん@お腹いっぱい。
07/01/25 17:58:40 r0DwPlYF0
URLリンク(www.k-den.jp)
このネットゲームのフリレ自動化のプログラムが組める方がいらっしゃれば、お願いしたいのですが?
登録などは無料となっております。
591:名無しさん@お腹いっぱい。
07/01/25 23:41:51 XH7KwjZi0
>お願いしたいのですが
いくらぐらいで?
592:名無しさん@お腹いっぱい。
07/01/26 13:41:53 Pav5kCE90
c=peekColor(55,28)
ifb G_赤(c)<127
print "OK"
Else
endif
function G_赤(c)
Result = c and $FF
fend
これのG_赤(c)<127 の部分が良く分からないのですが
何方か解説してくれませんか?
593:名無しさん@お腹いっぱい。
07/01/26 15:26:52 L9rKW3Kv0
あまり赤くなければ
ってこと
594:名無しさん@お腹いっぱい。
07/01/26 17:08:03 gpe3xmDS0
横からで申し訳ない。
Result = c and $FF の 'and' ってどういう計算だろ?
考えてたら訳わかんなくなった…
595:名無しさん@お腹いっぱい。
07/01/26 17:30:52 L9rKW3Kv0
>594
ビット積やね。
論理積のandとは意味が違うので注意
596:名無しさん@お腹いっぱい。
07/01/26 17:35:37 L9rKW3Kv0
本家BBS過去ログより
URLリンク(www3.bigcosmic.com)
597:名無しさん@お腹いっぱい。
07/01/26 17:36:10 P2hWYSFw0
peekcolorの返り値は、RGB、16進数でBBGGRRで入ってるから、c and $ff0000 で 青、 c and $00ff00 で緑、 c and $0000ffで赤の値が取り出せる
ヘルプに書いてあるがな
598:名無しさん@お腹いっぱい。
07/01/26 17:37:01 gpe3xmDS0
>>595
おぉ 即レスさんくすです。 ひとつ賢くなった…
599:名無しさん@お腹いっぱい。
07/01/26 18:39:02 76a1bqKG0
BGRなんだ。。なんで青とってるのに関数名が赤なのかと悩んだw
600:名無しさん@お腹いっぱい。
07/01/26 21:50:39 IQwz3Hx50
>>591
ただでお願いします。
無理言ってすいません。
601:名無しさん@お腹いっぱい。
07/01/27 11:43:07 G4PUCkhd0
いや、言うのは自由だから。
602:名無しさん@お腹いっぱい。
07/01/27 14:41:39 doRzyfmA0
//基本的なことをやってみました
id = status(getid("Microsoft Internet Explorer","IEFrame",0.02),st_title)
ifb id = "";fukidasi("ページがありません");for x=1 to 5;sleep(0.2);next;exit;endif
IE = GETACTIVEOLEOBJ("InternetExplorer.Application",id)
Name = IE.LocationName
URL = IE.LocationURL
//IE.Quit
WSH = CREATEOLEOBJ("Wscript.Shell")
Path = WSH.SpecialFolders("Desktop")
Link = WSH.CreateShortcut(Path+"\"+Name+".url")
Link.TargetPath = URL
Link.Save
//fid=fopen(Link.FullName,f_read or f_write);fdelline(fid,3);fclose(fid)
603:名無しさん@お腹いっぱい。
07/01/29 22:05:37 fcyz6KYn0
ヘルプを参考に「最小化」ボタンをグレーにしてみようとしたのですが、上手くいきません。
DEF_DLL ModifyMenuA(HWND,Long,Long,Long,Long):Long:user32.DLL
MF_GRAYED = $1
SC_MINISIZE = $F020
id = exec("notepad")
hwnd = GetCtlHnd(id,GET_SYSMENU_HND)
ModifyMenuA(hwnd,SC_MINISIZE,MF_GRAYED,0,0)
どこがおかしいのでしょうか。。。
604:名無しさん@お腹いっぱい。
07/01/30 19:14:54 C9/gwCO90
すみません、教えてほしいのですが
MojiRetsu = "abcdefg"
を一文字づつ取り出して、文字の処理をしたいのですがUWSCではどのようにすればいいのでしょうか?
VBの場合
for i = 1 to Length(MojiRetsu)
txt = mid(MojiRetsu, i, 1)
もしくは
txt = Right(Left(MojiRetsu, i),1)
.... 処理....
Next
でとりだせるはずですが、UWSCの場合の処理を教えていただけませんか?
よろしくお願いします。
605:604
07/01/30 19:28:38 C9/gwCO90
すみません、自己解決です。
ヘルプをよく読んでませんでした。
COPY関数がMIDに相当するものだったんですね。
COPYですから、文字列の単純コピーだと思い込んでました。
すみません。
606:名無しさん@お腹いっぱい。
07/01/30 22:14:21 IHRQvlYn0
>>603
グレーにはならないけど、無効状態にはなってるね。
「SC_MAXIMIZE = $F030」も試してみたが同じだった。
「MF_DISABLED = $2」の挙動みたいだが?
API使いの光臨を待とう…
607:603
07/01/31 00:09:22 ylP9utd10
>>606
返答ありがとうございます。
そのような場合には最後に
acw(id,status(id,st_x),status(id,st_y))
を書き足してウィンドウの再描写をすれば解決しそうですが、
自分の環境では最小化ボタンの無効化が行われません。
左上のプログラムのアイコンをクリックする事によって出てくる
ポップアップメニューからは「最小化」が削除されているし、
ModifyMenuの戻値は1なのですが。。。
自分はXPなのですが、環境によって違うのでしょうか。
608:名無しさん@お腹いっぱい。
07/02/01 04:05:02 C4wyYcBXO
天才にご指導願いたい。
指定したウィンドウに画像で4桁の数字がランダムに何種類か表示される。
このウインドウの数字を解析し、テキストボックスにその答えを打ち込みたい。
こんなものはマクロで出来ますか?
できるなら式を教えてください。
609:名無しさん@お腹いっぱい。
07/02/01 08:50:32 cGUezFrd0
OCRでぐぐって少し考えてみろ
610:名無しさん@お腹いっぱい。
07/02/01 21:02:52 S0Ax5EkM0
特定のフォントでいいならAUTOITのOCRスクリプトが公開されている。
特定フォントの数字だけならUWSCでも簡単だろ。
611:名無しさん@お腹いっぱい。
07/02/02 02:12:12 jlqlXg/70
UWSCでは指定ウィンドウに表示されている画像を解析し、その画像に表示されている数字を解析後にテキストボックスに打ち込むなんて事は可能でしょうか?
612:名無しさん@お腹いっぱい。
07/02/02 02:20:36 zIadodU90
>>611
どこのサイトのどんな画像?
613:名無しさん@お腹いっぱい。
07/02/02 02:35:07 jlqlXg/70
>>590であがっている
ネットゲームのレースキー入力ウィンドウなんです。
ウィンドウ内に画像が表示され、その表示されている数字を打ち込まないとレースが開始されない。
この面倒な作業を無人で行えないものかと思いまして。
以前はUWSCでマクロのみでレースが発走できたのですが、今はキーを打ち込むという作業が追加されてしまいまして、
その作業がみな面倒だというのでなんとか作れないものかと思い。
このようなスレを見つけ、詳しい皆様に教えを乞いたいです。
614:名無しさん@お腹いっぱい。
07/02/02 16:40:42 qRWklRGG0
なんのためにそういう面倒な処理が追加されたと思う?
マクロ蔓延への対策だよ
このスレ読んでできないようならあきらめたほうがいい
615:名無しさん@お腹いっぱい。
07/02/02 17:17:28 O3A6Wfi+0
つまり作る技術も知識も無い奴しかここには居ないってことさ
616:名無しさん@お腹いっぱい。
07/02/02 17:39:12 K3C4+/Yt0
どこもタチの悪い質問が増えてるな
617:名無しさん@お腹いっぱい。
07/02/02 22:03:28 NWOMEjb/0
IE.Navigate("URLリンク(ameblo.jp) 0, null, 1, "Referer: URLリンク(ameblo.jp));
こういう感じで実行しても、表示はするけどリファラが残りません><
誰かリファラの残し方教えてください
618:名無しさん@お腹いっぱい。
07/02/03 00:44:28 rAFsDkfj0
本日、クソッタレなWORDファイルの整形に大活躍しました。
特定の文字列を検索
→インデント指定
コレをループさせてずいぶん楽できた。
手の操作をエミュレートしてるだけだから、失敗してもCtrl+Zで気楽に戻せるのがいいな。
619:名無しさん@お腹いっぱい。
07/02/03 01:39:52 jgpOFn4V0
>>617
"\r\n" → "<#CR>"
620:名無しさん@お腹いっぱい。
07/02/04 16:33:00 wsNHttRV0
赤に近い色がある場所を取得したいのですが、どうやったら出来ますか?
chkimgだと~に近い色という設定が出来ず、peekcolorで1ドットずつ調べるのは重いので。。。
while true
for i=0 to g_screen_w
for j=0 to g_screen_h
c=peekcolor(i,j)
red=c and $FF
green=(c and $FF00)/$100
blue=(c and $FF0000)/$10000
if red>$F0 and green<$10 and blue<$10 then print i+","+j
next
next
sleep(0.1)
wend
peekcolorを使うとこんな感じですが、重すぎてまともに動きません。
621:名無しさん@お腹いっぱい。
07/02/04 23:29:19 AZ3768rq0
対象物がどういう画像かにもよるけど
まずはchkimgで色無視で探して
見つかったらその部分だけに範囲を絞ってpeekcolorで色判定するとか。
あと赤に近い色ならR成分だけの比較でよくね?
速度的には改善されると思う。
peekcolorでやるなら走査を1ドットずつじゃなくて例えば10ドット間隔にするとか。
美術品とかの防犯用赤外線センサーみたいなイメージ。
ただ対象物があまりに小さいと見逃すかも。
622:名無しさん@お腹いっぱい。
07/02/04 23:38:08 acEjdmZB0
R成分だけだと白とかもヒットしてしまうから無理でしょう
>>620
速度求めるならCなりでDLL作って、画面キャプチャ→クリップボード内の画像を走査 が速そう。
623:620
07/02/05 00:27:24 R6II9j8F0
>>621,622
レスありがとうございます!
>>621
赤っぽい物体がランダムな形で表示されているので、色無視は無理です・・・
調べる間隔を離すのは試してみます!
>>622
やはりUWSCだけでは難しいですか・・・
コンパイラ形式の言語はまだよく分からないのですが、これから勉強してみます!
624:名無しさん@お腹いっぱい。
07/02/05 00:42:36 2cLewcZO0
>622
おっと、確かにそうでした…<白とかもヒット
とりあえずpeekcolorでやってみたけど
うちの環境(1280*768)でループ一回まわすのにかかったのが「3分19秒78」
こりゃ確かに使い物にならん…
色判定部分を工夫して
if (c and $f0f0f0) = $f0 then print i+","+j
これで速度50%ほどアップして「2分2秒422」
あとは走査をxy両方10ドット間隔にして「1秒297」
これならまあなんとか使い物になるかも?
625:名無しさん@お腹いっぱい。
07/02/05 01:02:44 2cLewcZO0
追記
c=peekcolor(i,j)
//↓削除ここから
//red=c and $FF
//green=(c and $FF00)/$100
//blue=(c and $FF0000)/$10000
//if red>$F0 and green<$10 and blue<$10 then print i+","+j//→3分19秒78
//↑削除ここまで
if (c and $f0f0f0) = $f0 then print i+","+j//→2分2秒422
626:620
07/02/05 01:25:03 R6II9j8F0
>>624
そういうやり方もありましたか。
参考になります。
このスレにはやさしい人が沢山いて助かります。
ありがとうございました。
627:('A`)マンドクセ ◆2zoWxZ0KXY
07/02/06 10:14:23 N8aNtigh0
口癖とかwwwwwwwwwwww
628:名無しさん@お腹いっぱい。
07/02/07 23:40:57 NIA0HC/g0
すみません、初心者なのですが、
ゲーム上で使う時は
While True
KBD(VK_XXX,DOWN,0)
KBD(VK_XXX,UP,0)
KBD(VK_YYY,DOWN,0)
KBD(VK_YYY,UP,0)
SLEEP(12)
Wend
(VK_XXX、VK_YYYは何かしらのボタンです)
を記述したものを再生するのみでは繰り返さないのでしょうか?
試してみたところ、1回行った後ゲーム上では繰り返しませんでした。
ゲーム上でなければ問題なく繰り返しの動作を行っています。
629:名無しさん@お腹いっぱい。
07/02/08 00:33:21 IHNssdF00
ヒント:DirectInput
630:名無しさん@お腹いっぱい。
07/02/08 07:42:37 j0ePCC9y0
// While Wend 文
WHILE 式 // 式が True の間実行
処理
WEND
WHILE 式 // 式が True の間実行
WHILE 式 // 式が True の間実行
WHILE 式 // 式が True の間実行
631:名無しさん@お腹いっぱい。
07/02/08 10:08:02 kgzJBX1p0
メッセージ投げてるわけでもないからDirectInputも関係ないし
構文もあってる
ゲーム上の動作確認がおかしいだけじゃねーの
632:名無しさん@お腹いっぱい。
07/02/08 11:25:00 FKJuKnE50
>>628の
While True
ってのは「何が」Trueの間繰り返すという意味なんですか?
633:名無しさん@お腹いっぱい。
07/02/08 12:44:40 ZEUQBsQ/0
>>632
While True = True
634:名無しさん@お腹いっぱい。
07/02/08 14:23:56 wOF5n7Uf0
フォーカスがあってないんじゃ?
635:名無しさん@お腹いっぱい。
07/02/08 22:25:03 8w4lo9zN0
フォーカスを合わせる必要があるのですね…
もしよろしければ、その記述についても教えていただけますか?
636:名無しさん@お腹いっぱい。
07/02/09 00:14:51 CVVEcBKi0
つヘルプファイル
637:名無しさん@お腹いっぱい。
07/02/09 00:37:33 xRDFOrHc0
ネトゲなんかでさ、GETIDはできるのは想像つくんだけど、
中のウインドウはGETITEMで操作できんの?
試せよって話なんだが、もう寝る時間なんだ
638:名無しさん@お腹いっぱい。
07/02/09 04:15:57 R85AHkSa0
バックグラウンドで使うのは難しいのでしょうか?
他の作業をしながら
特定のウインドウで単純にF1キーを押し続ける作業をさせたいのですが、
言語も何もわからないので困っています。
639:名無しさん@お腹いっぱい。
07/02/09 05:34:00 RTUEj3qb0
>>638
APIを使う。
Windowsアプリの仕組みを知らないのであれば難しい。
640:名無しさん@お腹いっぱい。
07/02/09 07:53:31 mxygUe7L0
TeamSpeak2( URLリンク(www.goteamspeak.com) )というボイスチャットのスクリプトを作ろうと思ったのですが
GETITEMでアイテム情報を取得できませんでした。
このような場合はどう対応したらよいのでしょうか?
641:名無しさん@お腹いっぱい。
07/02/09 10:42:08 U7MLjCC+0
おねがいします。
UWSC.exe名を変更するにはどうしたら良いのでしょうか?
エロイ人教えてください
642:名無しさん@お腹いっぱい。
07/02/09 10:45:58 9N5pvLBZ0
>>641
スレ違いだカス
643:名無しさん@お腹いっぱい。
07/02/09 12:12:03 Eho8eh0PO
>>641
低レベルな質問をする前に少しは勉強しなさい
644:名無しさん@お腹いっぱい。
07/02/10 16:00:56 DagaOjlC0
>>641
exec("cmd /c ren uwsc.exe cswu.exe")
645:名無しさん@お腹いっぱい。
07/02/12 23:11:21 GqqG+y+o0
>>641
UWSC.exeをエロ胃人にに帰るには制てゃpぎおwn
646:名無しさん@お腹いっぱい。
07/02/13 00:36:42 FAav4dLC0
// 時報
While !GetKeyState(vk_esc)
sleep(0.2)
GetTime()
T = g_time_ww+":"+g_time_hh+":"+g_time_nn+":"+g_time_ss
ifb g_time_nn = 0 and g_time_ss = 0
Fukidasi(g_time_hh+":"+g_time_nn2,0,0,0,72,"Arial","$ffff","",-2)
for i = 1 to 25; sleep(0.2); next
Fukidasi()
endif
//Timer(T = "0:12:34:56","メッセージ")
Wend
Fukidasi("時報を終了します。"); for i = 1 to 5; sleep(0.2); next
//
Procedure Timer(T,str)
ifb T
Fukidasi(str); for i = 1 to 25; sleep(0.2); next; Fukidasi()
endif
Fend
647:名無しさん@お腹いっぱい。
07/02/13 13:56:17 vkIAvlxP0
>>640
muri
648:名無しさん@お腹いっぱい。
07/02/13 20:08:16 pgEpS4cV0
>646
なんだ?添削希望か?
649:名無しさん@お腹いっぱい。
07/02/13 21:59:53 FAav4dLC0
おながいします。
650:名無しさん@お腹いっぱい。
07/02/13 22:49:24 pgEpS4cV0
とりあえず
for i = 1 to 25; sleep(0.2); next
は
sleep(5)
でいいかと
あと、
Timerは何がしたいの?
651:名無しさん@お腹いっぱい。
07/02/13 23:44:52 FAav4dLC0
>>sleep(5)
>でいいかと
ホントだ…。前に>>115を読んだときに
>0.5sec待機するより0.01secを5回程度回した方が~
ってところを何を勘違いしたのか間違って解釈しちゃったようですorz
Timerは指定の時間にメッセージを出すだけです。
別に何でも、アプリ起動とかでも良かったんですけど…
指定の時間になったら何かするっていう、つまりタイマー
どっちにしろ一行で済むしそれだけなら別にわざわざサブルーチンにしなくても良かったようですがorz
652:名無しさん@お腹いっぱい。
07/02/14 10:34:58 g3LUNaLB0
現在のディレクトリを得る方法ってない?
UWSCから、WSH利用するしかないのかな?
653:名無しさん@お腹いっぱい。
07/02/14 13:42:26 x+7ZQl1v0
GET_CUR_DIR // 現在のカレントディレクトリ
654:名無しさん@お腹いっぱい。
07/02/15 00:20:10 nGU/ckMc0
サイズの一様(640×480)な中身が違うビットマップファイルが数百個あります。
そのBMPの中から、例えば、ある一定の区画 500, 200, 100 ,100を切り出した新しいBMPファイルを作りたいと思います。
数百もその作業をやるのはしんどうし、
切り出す区画は全ファイル同じ部分なので、uwscなどを用いて簡単に処理できないかと考えてみました。
充分なsleepを与えつつ、画像編集アプリケーションに取り込ませ実際操作する自動化は思いつきましたが、
それは非常にスマートではありません。
uwscのみで行うにはどういった手法があるでしょうか?
WINAPIとかを導入しないとできないでしょうか?
655:名無しさん@お腹いっぱい。
07/02/15 00:25:42 d0mE+fGw0
psのアクション+パッチで十分な話だと思う
uwscさえ必要ねえ
656:名無しさん@お腹いっぱい。
07/02/15 00:41:57 SGEKa07X0
IRfanでもできるかな
657:名無しさん@お腹いっぱい。
07/02/15 01:36:36 0kiNIKH70
ImageMagick でやるのが楽かと
658:名無しさん@お腹いっぱい。
07/02/15 01:38:23 0kiNIKH70
>>654
と言うか、
> 充分なsleepを与えつつ、画像編集アプリケーションに取り込ませ実際操作する自動化は思いつきましたが、
> それは非常にスマートではありません。
こういうスマートじゃない処理をするためだけに uwsc があると思うんだが。
659:名無しさん@お腹いっぱい。
07/02/15 02:16:43 4zVU3Oy00
>>654
こういうのは、PhotoShopのアクションと自動処理のバッチを使えば一発なんだけどね('A`)
俺なら、ImageMagickでも使うかなあ。
660:名無しさん@お腹いっぱい。
07/02/15 12:48:27 bY/cVw6K0
>>654
自分なら、>>656の人と同じくIrfanViewを使うかな。
661:名無しさん@お腹いっぱい。
07/02/15 15:50:26 l9DhUzp90
> GET_CUR_DIR // 現在のカレントディレクトリ
ちょっと前とちょっとあとのカレントディレクトリはどうやって取得すればいい?
662:名無しさん@お腹いっぱい。
07/02/15 17:12:45 VdGp7gLH0
>>661
ちょっと前に Get_Cur_Dir を使えばいい
663:名無しさん@お腹いっぱい。
07/02/15 17:13:18 VdGp7gLH0
>>661
同じく、ちょっと後に Get_Cur_Dir を使えばいい
664:名無しさん@お腹いっぱい。
07/02/15 17:15:14 VdGp7gLH0
>>661 冗談だと思うな、本当のことだぞ。
665:名無しさん@お腹いっぱい。
07/02/15 18:29:55 VJCrc4le0
>>661
確かに>>662-664以外の方法はないと思う
ちなみにちょっとあとのカレントディレクトリを取得するのは不可能
未来を予知できるなら別だが。
666:名無しさん@お腹いっぱい。
07/02/15 18:47:09 RqXFGw0H0
てか、UWSCでカレントディレクトリ変更できるの?
667:名無しさん@お腹いっぱい。
07/02/15 19:02:09 VJCrc4le0
>654
皆が言うように、uwscよりも、内部マクロのようなものが使える画像処理アプリケーションを使う方がスマートだとは思う。
餅は餅屋ということで。
ただuwscを使ってという条件で(まあuwscのスレだし)
よりスマートに改善するなら
>充分なsleepを与えつつ
ここを見直してみるべきでは?
まあ自分ならあえてuwsc+ペイントでやるかなw
668:名無しさん@お腹いっぱい。
07/02/15 20:35:48 6ZnakJ6o0
>>666
色んな方法があるでしょ
ヘルプ見れば。
君がどういう方法でカレントディレクトリを変更したいのかにもよる。
DOSCMD コマンドもあるし とにかくHELP嫁
669:名無しさん@お腹いっぱい。
07/02/15 21:01:54 RqXFGw0H0
いや、別に俺がしたいわけじゃないんだけど、できるのかなと疑問に思っただけ。
とりあえずDOSCMDではUWSC自体のカレントディレクトリは変更できない。
670:名無しさん@お腹いっぱい。
07/02/16 07:25:23 aEdQXwcP0
こんなのはられてたw
スレリンク(mmosaloon板:644-646番)
671:名無しさん@お腹いっぱい。
07/02/16 08:18:53 CMWBeYzi0
>>670
バロス
もっと見破られないようにしないとw
672:名無しさん@お腹いっぱい。
07/02/16 10:19:10 RClLESTD0
kbd(VK_LEFT, DOWN, 50) //左ナビ
kbd(VK_LEFT, UP, 50)
このへんのDOWN・UPコンボで
一目で厨ぶりがわかるな
673:名無しさん@お腹いっぱい。
07/02/17 00:35:46 vy3y0xxR0
ゲームによってはclickが正常に作動しないこともあるんだぜ?
674:名無しさん@お腹いっぱい。
07/02/17 21:48:54 RM+qUXCD0
その通り。
クリックの放す速度が速いと押したことにならないゲームもある
675:名無しさん@お腹いっぱい。
07/02/18 12:32:49 EOUmUz5k0
while True
if (! IE.busy) and (IE.readyState=4) then Break
sleep(0.1)
wend
IEの表示待ちはこれですけど
他のアプリケーションの表示待ちする場合の方法ってありますか?
676:名無しさん@お腹いっぱい。
07/02/19 17:39:32 P5MUdYEo0
>>675
ヘルプで『GETID』をキーワード検索しろ
677:名無しさん@お腹いっぱい。
07/02/19 18:39:43 eyre+X9O0
>>670のリンク先、延々uwscの話題をしていてワラタ
678:名無しさん@お腹いっぱい。
07/02/19 22:15:18 K8AGIvtf0
操作すんのが面倒ならデモ画面でも見てりゃいいのにな。
679:名無しさん@お腹いっぱい。
07/02/19 22:52:16 16dl77Y30
comでエクセルを呼び出して作業させているのですが、
呼び出したエクセルのモジュールに作成した「sub処理()」を実行できずに、悩んでいます。
EXCEL.RUN("処理")やEXCEL.RUN "処理"とかやったのですがダメでした。
どなたか、ご教示願います。
680:名無しさん@お腹いっぱい。
07/02/20 02:05:52 jUqXQ7cY0
>>675
STATUS, GETSTR, POSACC, CHKBTN
CHKIMG
681:名無しさん@お腹いっぱい。
07/02/20 19:23:08 Xpux+e7b0
>>675
>>680以外ではGETITEMとか
//例(Jane): ステータスバーの表示が "|0 |完了 " になるまで待つ
repeat
GETITEM(ID, ITM_STATUSBAR)
sleep(0.2)
until all_item_list[0] + all_item_list[1] = "0完了"
682:名無しさん@お腹いっぱい。
07/02/21 01:04:00 wkuVEwNm0
1.WEBサイトの特定の英語のテキスト箇所をコピー。
2.翻訳サイト(Excite翻訳など)のフォーム部分に先程コピーしたテキストをペースト。
こんな感じの流れはこのソフトで可能ですか?
683:名無しさん@お腹いっぱい。
07/02/21 01:43:41 U+6PFKs/0
可能ですけど、2. をするくらいなら直接 http で POST しちゃって、
結果をツールチップで表示とかのほうがいいんじゃ。
むしろ、そういうことをしてくれるソフトやアドオンはいっぱいあるんじゃ。
684:名無しさん@お腹いっぱい。
07/02/21 01:56:38 oJndc07q0
RECタブブラウザ作ってください、IEは操作途中に落っこちちゃうんだよね
685:名無しさん@お腹いっぱい。
07/02/21 02:09:31 dZEZ/RMS0
>>682
GoogleもGooもExciteも全部uwsc(w
// 選択範囲をコピーするウインドウIDの取得
FUNCTION MUSI()
FOR I=0 TO GETALLWIN()-1
T=STATUS(ALL_WIN_ID[I],ST_TITLE)
C=STATUS(ALL_WIN_ID[I],ST_CLASS)
// 無視するウインドウ
IFB T=""_
or C="TApplication"_
or POS("#",C)>0
or POS("UnicodeClass",C)>0
// とか
CONTINUE
ELSEIF C="Progman"
MSGBOX("ERROR: ウインドウがない")
EXITEXIT
ELSE
BREAK
ENDIF
NEXT
RESULT=GETID(T,C)
FEND
686:名無しさん@お腹いっぱい。
07/02/21 02:35:02 wkuVEwNm0
夜分遅くにレスありがとうございます。
参考にして色々試してみます。
687:名無しさん@お腹いっぱい。
07/02/21 22:35:01 4wiCaUFR0
うあ、、、、これ便利すぎるw
688:名無しさん@お腹いっぱい。
07/02/22 06:36:09 2kS6WF+F0
質問です
複数の画像を指定して、その画像毎に違ったアクションをさせるにはどうすればいいですか?
サンプルの
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
while True
if GETKEYSTATE(VK_ESC) then exit
MMV(G_SCREEN_W, G_SCREEN_H)
ifb CHKIMG("test.bmp")
~~処理~~
break
endif
sleep(1)
wend
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
のSleep後に
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
ifb CHKIMG("test.bmp")
~~処理~~
break
endif
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
を処理する数だけ加えていけば可能ですが、
もう少しすっきりさせる為に皆さんの知恵をお貸しください。
689:名無しさん@お腹いっぱい。
07/02/22 15:30:25 XrP4EUKx0
UWSCの勉強に役立つ書籍はスレの最初の方にあった
”Windowsマクロテクニック”だけで問題ないですか?
690:名無しさん@お腹いっぱい。
07/02/22 16:23:18 qSpCSOux0
>689
日本語でおk
691:名無しさん@お腹いっぱい。
07/02/23 01:39:23 0sH5Ww6M0
例えば行の先頭から指定した文字列(句点、濁点等)までを選択して
クリップボードにコピーするのってどうやるん?
692:名無しさん@お腹いっぱい。
07/02/23 02:17:40 aKHo+G7T0
キーボードのあるキーを押すと
マウスの左クリックを0.5秒後に押すマクロってどうやってつくるんでしょうか?
if KBD(VK_DIVIDE,CLICK) then BTN(LEFT,CLICK,500)
とかやってみたんですけどできなくて…
693:名無しさん@お腹いっぱい。
07/02/23 02:42:27 9AJmM97l0
>>691
line= "例えば行の先頭から指定した文字列(句点、濁点等)までを選択して"
sendstr(0,token("、",line))
>>692
getkeystate
694:名無しさん@お腹いっぱい。
07/02/23 02:46:11 0sH5Ww6M0
>>693
レスありがとです!
695:名無しさん@お腹いっぱい。
07/02/23 15:22:29 OI7ziwL20
UWSCおもすれー( ^ω^)
696:名無しさん@お腹いっぱい。
07/02/23 20:27:31 6yiL1E+C0
あるプログラムのメモリを書き換えるスクリプトは、
どういう記述をすればいいのでしょうか?>>533を見たのですが
APIやDLLは使い方がよくわかりません・・・
697:名無しさん@お腹いっぱい。
07/02/23 20:35:33 x+nYfDMf0
>>696
WriteProcessMemory 呼び出すだけだろ。
698:名無しさん@お腹いっぱい。
07/02/23 21:53:58 g22vXUMk0
みんなこのソフトどういう時に使ってるの?
なんか便利な使い道あったら教えて下さい。
このソフトプログラマーの人しか使わないのかな。
699:名無しさん@お腹いっぱい。
07/02/23 23:32:07 lMs4LxVV0
>>698
俺はnPOPで受信したメールがたまってきたら
テキストに保存して纏めて圧縮してるんだけど,
その操作をuwscにやらせてる。
自分が頻繁に行う定型の操作があって,
プログラムを組むほどでもないようなことをuwscで,,,みたいな
700:名無しさん@お腹いっぱい。
07/02/23 23:41:01 Zsv/MN0i0
>>688
DIM x[] = "test1.bmp","test2.bmp", ・・・
for i=0 to LENGTH(x)-1
ifb CHKIMG(x[i]) then
select i+1
case 1
処理 1
case 2
処理 2
case ・・・
処理・・・
selend
endif
next
701:名無しさん@お腹いっぱい。
07/02/24 12:15:07 ifk79U590
>>700
ありがとうございます、参考になりました。
それに加えて、複数個指定した画像以外に
指定した画像がなかった場合の処理を組み込む事は可能ですか?
この場合、配列をもう一つ別に指定した方が綺麗にまとまりますか?
702:696
07/02/24 12:55:52 NQZTMvMn0
>>697
回答ありがとうございます、呼び出し方の記述がよくわからないので
勉強して出直してきます
703:名無しさん@お腹いっぱい。
07/02/25 08:28:12 Y68j1HBx0
>>698
午前10時45分にシャットダウンしたい時。
704:名無しさん@お腹いっぱい。
07/02/25 14:38:01 4DUTXKqq0
GETITEM() の ITM_ACCTXTやITM_ACCCLKで文字列取るときに「&」を取っ払うのは仕様なのか?
ショートカットキーを表現する「&」を消すのはまだ納得できるけど、URL内の「&」消されるのはつらいぞ。
705:名無しさん@お腹いっぱい。
07/02/25 15:01:21 rNvu9Obr0
アクセスエクスチェンジとかだろ
706:名無しさん@お腹いっぱい。
07/02/25 19:13:40 dSivR6Uy0
>>701
bmp = "test.bmp" //bmp = "test1.bmp" //bmp = "test2.bmp"
DIM x[] = "test1.bmp","test2.bmp"
DIM y[LENGTH(x)-1]
for i=0 to LENGTH(x)-1
ifb bmp = x[i] then
select i+1
case 1
msgbox(x[i]+"発見")
case 2
msgbox(x[i]+"発見")
selend
// break
else
y[i] = "無い"
// msgbox(x[i]+"が無い")
// break
endif
next
for i=0 to LENGTH(x)-1
ifb y[i]<>"" then
select i+1
case 1
msgbox(x[i]+"は無かった")
case 2
msgbox(x[i]+"は無かった")
selend
endif
next
707:名無しさん@お腹いっぱい。
07/02/26 18:55:13 MQXBg9MI0
失礼します。
最小化しているウィンドウに対して処理を行う事は可能ですか?
行おうとしている作業は、最小化しているメールソフトに対して、
一定時間毎に"送受信"ボタンを押す、というものなのですが、
while
ifb chkimg(送受信.bmp)
btn(left, click, g_img_x, g_img_y)
break
sleep(60)
wend
に何を加えればいいでしょうか?
後、疑問なのですが、最小化しているウィンドウに命令を行えるなら
chkimgで指定した画像は、表示している画面をサーチするのか、
最小化しているウィンドウ内をサーチするのか、どちらなのでしょうか?
回答頂ければ幸いです。
708:名無しさん@お腹いっぱい。
07/02/26 20:30:10 XaitowDR0
chkimgは画面表示をチェックするんだろ?
最小化していて表示されるところだけちぇっくすればOK。
それが嫌ならchkimgなんか使うな。
ちなみに俺はchkimgなど1度も使った事は無い。
709:名無しさん@お腹いっぱい。
07/02/26 20:53:44 5Y5GLnn70
>>707
最小化したままだとchkimgでは無理ですね。
chkimg以外の方法で処理可能であるならば自分だったらこんな感じにするかな。
他の方法もあるかもしれないけど。
x = gettime()
while !getkeystate(vk_esc)//escキーで終了
y = gettime()-x
s = y mod 60
sleep(0.2)
ifb s = 0
//処理
endif
wend
MsgBox("終了")
710:名無しさん@お腹いっぱい。
07/02/27 02:13:24 bZ9qrAwt0
>707
とりあえず
MOUSEORG(id,2)
あとは
PostMessage使うとか
711:名無しさん@お腹いっぱい。
07/02/27 02:14:15 UsiWTpU40
♪ /妊_娠\
. |/-O-O-ヽ|
6| . : )'e'( : . |9
(( ( つ`‐-=-‐ 'ヽ、 )) ♪ ♪
〉 と/ ))) ♪
(__/ ̄ ̄(_)
♪ / ̄ ̄ \
. | | ♪
(|\ /|)
♪ /  ̄ ̄ ) )) ♪ ♪
(( ( . : ( : . 〈 ♪
(_) ̄ ̄ヽ__)
♪ /妊_娠\
. |/-O-O-ヽ|
6| . : )'e'( : . |9
(( ( つ`‐-=-‐ 'ヽ、 )) ♪ ♪
〉 と/ ))) ♪
(__/ ̄ ̄(_)
712:名無しさん@お腹いっぱい。
07/02/27 05:12:53 xdrZIzQI0
>>707
WinLister(英)
URLリンク(www.nirsoft.net)
ProcessWalkerなど
URLリンク(www001.upp.so-net.ne.jp)
最小化されているウィンドウの「クラス」「タイトル」なども取得できるソフト。
同系ソフトは他にもあるけど、この機能に限定すればWinListerが使いやすい感じ。
713:名無しさん@お腹いっぱい。
07/02/27 05:33:04 XIHG/8cC0
>>712訂正
△最小化されているウインドウの
○不可視ウインドウの
714:名無しさん@お腹いっぱい。
07/02/27 13:09:22 dd7Gb3CU0
すっげー久しぶりに来た。3ヶ月は見てないかな。ここ。
>>547
>>589
SE = IE.document.getElementsByTagName("select").item(1)
Op = SE.options
for i = 0 to Op.length - 1
Itm = Op.item(i)
if Itm.text = "名前/ヨミガナ" then Itm.selected = true // 選択
next
SE.fireEvent("onChange") // onChange イベントを発生させる
715:714
07/02/27 13:10:56 dd7Gb3CU0
業務用の抜き出しなんで、適当に直してね。
716:名無しさん@お腹いっぱい。
07/02/27 20:29:18 5o3nqbUw0
IEでリンクの文字列をクリックしたいのですがHTMLが
<a href="hURLリンク(......">)<)リンク名
</a>
IELink(IE_br[1],"リンク名"+"<#CR>") // 改行追加
複数行になってしまう場合は無理なのでしょうか?
717:名無しさん@お腹いっぱい。
07/02/27 21:52:50 mtZrmXvS0
getElementsByTagName("a")とかで試してみては
718:名無しさん@お腹いっぱい。
07/02/28 00:22:00 /zsDSXub0
>716
htmlに改行は関係ないはずだしそんなわけないやろ…と思って検証してみた。
うん、たしかに改行が入ってるとクリックできないわ。
RecIEで記録してみたら改行を含むリンクの方は改行じゃなくて
"リンク名 "みたいに半角スペースが入ってるみたい。
これに習って半角スペース入れてやれば、
無事クリックすることはできたけど。
…これってバグだよね?
719:名無しさん@お腹いっぱい。
07/02/28 00:36:17 lKePO2390
UWSCでDirectInputを扱うことはできるかな?
720:名無しさん@お腹いっぱい。
07/02/28 00:50:01 +F5S3BZ40
どういうのが扱うの定義なの?
721:名無しさん@お腹いっぱい。
07/02/28 01:34:24 lKePO2390
ああ、ミジンコですいません・・・。
単純にKBDやBTNの代わりにDirectInputを使ってみたいな、と思いまして。だから
キーやマウス操作で使いたいんです。
どうもUWSCでそういう事例がないっぽい感じなんで、聞いてみた次第です。
722:名無しさん@お腹いっぱい。
07/02/28 04:11:01 WxlpFZeq0
>>716
umiumi様に報告しなっせ。
723:名無しさん@お腹いっぱい。
07/02/28 05:50:57 +F5S3BZ40
>>721
特定のアプリのみなら DLL Injection すればできるよ。
後はドライバ作ればなんでもできる。キーボードだけなら mayu.sys 使えばいい。
724:名無しさん@お腹いっぱい。
07/02/28 22:56:38 lKePO2390
>>723
なるほど。そういう策があるんですね。Thx!
725:名無しさん@お腹いっぱい。
07/02/28 22:59:46 6bZJcGLF0
IESETDATAに対応するvbscriptってあります?
これすげー便利なんだけどvbscriptで同じのがあれば教えてください。
726:716
07/03/01 00:20:04 dHFep3w80
>>717 , >>718様
ありがとうございます。
スペースを入れることで無事解決いたしました。
727:名無しさん@お腹いっぱい。
07/03/01 00:23:51 KFbXBiFs0
vbsでIE操作関連のライブラリは聞いたことないなあ。
IESETDATAぐらいの機能なら自分で互換プロシージャ書いたほうが早いかも。
VBScriptにこだわらず、PerlやRubyやJavascript使えるならMechanize使うべし。
728:名無しさん@お腹いっぱい。
07/03/01 03:11:08 eWsgJP0Y0
>>727
やっぱそうですか。
vbscriptで実現しようとするとうまくいかないサイトがありまして、
RECIEでやると簡単にいったんです。
IESETDATAってのをたくさん使ってたのでvbでもできないかなあといろいろググってます。
でもないんですねえ。素人にはむつかしい。
Mechanizeってのをググっても???が頭に浮かぶばかりです。
やたらIT英単語が羅列される高度なサイトしかでてこない。
729:名無しさん@お腹いっぱい。
07/03/02 11:28:21 wgmImKY+0
すみませんちょっと教えてほしいのですが
CALL で呼び出した サブマクロをリリースすることは出来るのでしょうか?
やりたいことは 一日中動かす制御系マクロで、条件にしたがって CALLするサブマクロを変えたいのです。
只、問題になるのではないかと懸念しているのは
例えば 条件にしたがって A.UWS をCALLして
しばらくして、条件が変わり 今度はB.UWSをCALLした後
また、条件が元に戻って A.UWSをCALLすると、関数の重複エラーを起こすのではないかと思ってます。
CALLする際には、既にCALLしていればCALLしないような関数自体の制御はあるのでしょうか?
よろしくお願いします。
730:名無しさん@お腹いっぱい。
07/03/02 12:09:17 WyS8M7wk0
CALLはスクリプトの始まりで全て読み込まれる仕様だったと思うが。
731:名無しさん@お腹いっぱい。
07/03/02 12:11:33 wgmImKY+0
>>730 そうなんですか?
以前に
Select 条件
Case A
Call A.uws
Case B
Call B.uws
Case C
Call C.uws
Selend
みたいなので動かしてましたが、条件に関係なく Callされてしまうということでしょうか?
732:名無しさん@お腹いっぱい。
07/03/02 12:14:46 WyS8M7wk0
なので、CALLの中は関数のみにして条件式で関数を呼び出したほうが管理し易い。
733:名無しさん@お腹いっぱい。
07/03/02 12:16:44 wgmImKY+0
>>732
了解です。アルゴリズムを変えます。
734:名無しさん@お腹いっぱい。
07/03/02 12:19:54 WyS8M7wk0
> CALL文はスクリプトが走る前に評価してマージ
らしいので、何回呼び出してもOKということ。
735:名無しさん@お腹いっぱい。
07/03/02 12:21:37 wgmImKY+0
>>734
そうなんですか、であればすごく楽です。いろいろありがとうございました。
736:名無しさん@お腹いっぱい。
07/03/02 12:24:09 WyS8M7wk0
なので は変だったかな。
まとめると、CALLの重複呼び出しは可能だが、
関数呼び出しの方がCALLする数も減らせてよいのではないか・・と。
737:名無しさん@お腹いっぱい。
07/03/02 17:18:17 LEgHzb2/0
教えてください
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
の簡略化の仕方って、どうすればいいのでしょうか?
初歩的な事ですいません。
738:名無しさん@お腹いっぱい。
07/03/02 17:40:28 zd/tmG0Y0
for i=1 to 5
kbd(vk_tab)
next
739:名無しさん@お腹いっぱい。
07/03/02 18:51:13 LEgHzb2/0
>>738
なりました
どうもありがとうございました!
740:名無しさん@お腹いっぱい。
07/03/02 23:29:55 YTqW5ImN0
kbd(vk_tab, 5 ) * 5;
741:名無しさん@お腹いっぱい。
07/03/02 23:31:39 YTqW5ImN0
I=5
WHILE I--
kbd(vk_tab)
Wend
742:名無しさん@お腹いっぱい。
07/03/03 00:35:02 VMJxRwv40
>740,741
……うそつき
(緒川たまき)
743:名無しさん@お腹いっぱい。
07/03/03 09:17:41 V9IC+ExM0
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
これを誰よりも複雑に書いてください。
744:名無しさん@お腹いっぱい。
07/03/03 20:43:41 s3yQZgWo0
kbd(vk_tab , vk_tab , vk_tab , vk_tab , vk_tab) ;
745:名無しさん@お腹いっぱい。
07/03/03 23:14:36 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:名無しさん@お腹いっぱい。
07/03/03 23:23:26 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:名無しさん@お腹いっぱい。
07/03/04 02:53:05 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:名無しさん@お腹いっぱい。
07/03/04 11:10:58 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:名無しさん@お腹いっぱい。
07/03/04 16:30:49 ZVZ7OXQj0
ブログのバックアップデータのあるCSVファイルがあるんだけど
コレをWIKIに移行しようと思って自動化プログラム作りたいんだけど
どんなプログラムくめばいい意
750:名無しさん@お腹いっぱい。
07/03/04 16:34:23 QvCR5Gc90
>>749
要約するとこうだな
①ブログのバックアップCSVデータがある
②WIKIに移行する自動化プログラムを作りたい
③どんなプログラムを組めばいいか?という質問
答え:自動化プログラムを組めばいい
751:名無しさん@お腹いっぱい。
07/03/04 17:18:20 ZVZ7OXQj0
>>750
そう
わからないのが
エクセルから特定のセルをキャッシュにコピーする方法
特定のアドレスにアクセスする方法
がわかればたぶんできると思うのですが
752:名無しさん@お腹いっぱい。
07/03/04 17:30:46 m1xVfsXi0
テキスト処理だけでできる作業を何でわざわざ GUI でやろうと思うのかが謎
753:名無しさん@お腹いっぱい。
07/03/04 17:50:39 aLBEPeVF0
ここ数時間試行錯誤をしてるのですが解決しませんので質問させていただきます
メモ帳などでキーボードのaを押したら処理1が開始されるようなマクロを組みたいのですが
start
__________|________
| |
aが押される bが押される (キーボード
| |
処理1 処理2
|__________________|
|
~
このようなスクリプトはUWSCにはないのでしょうか
INPUTでは新たにウィンドウが出てしまいますし、エンターを押さなければ処理1には進みません
なにか知恵をお貸しいただければ幸いです
754:名無しさん@お腹いっぱい。
07/03/04 17:53:38 QvCR5Gc90
ifb GETKEYSTATE(VK_A) then
//a key を押した時の処理
endif
当然 while ~ wend に入れるべし
ていうか752にもあるように、UWSCでつくるべきプログラムじゃないよ
755:名無しさん@お腹いっぱい。
07/03/04 18:05:33 aLBEPeVF0
>>754
即レスありがとうございます
それでうまくできなければ他のマクロを探してみます
ありがとうございました
756:名無しさん@お腹いっぱい。
07/03/04 23:26:57 a4NBNM9n0
>>752
テキストでやるのはいいけど
ファイル名のつけ方がわからん
757:名無しさん@お腹いっぱい。
07/03/05 10:59:05 kPPaI09y0
>749
csvを読み込み処理する部分は
FOPEN
758:名無しさん@お腹いっぱい。
07/03/05 11:02:26 kPPaI09y0
おっと途中で書き込んでしまった。
csvを読み込み処理する部分は
FOPENして
FGETして
ごにょごにょしたらおk
wikiに書き込むのは
IESETDATA使うなり
直接COMでDHTMLたたくなり
好みとスキルに応じてどうぞ
759:名無しさん@お腹いっぱい。
07/03/07 12:24:23 2NSKScfX0
UWSCスクリプトを実行ファイルに変換するスクリプト
欠点: ファイルがでかすぎる。
760:名無しさん@お腹いっぱい。
07/03/08 12:11:00 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:名無しさん@お腹いっぱい。
07/03/08 14:44:22 Q+kjASni0
>>760
DIM WshNetwork = CREATEOLEOBJ("WScript.Network")
PRINT WshNetwork.ComputerName
じゃダメなのか?
762:名無しさん@お腹いっぱい。
07/03/08 14:55:38 7XN40pw00
>760
DEF_DLL GetComputerNameA(string, var long):long:kernel32.dll
引数は前が値渡しで後ろが参照渡しみたいだね
763:名無しさん@お腹いっぱい。
07/03/08 15:02:40 7XN40pw00
DEF_DLL GetComputerNameA(var string,var long):long:kernel32.dll
あれ?前もvarじゃないとだめみたい
764:名無しさん@お腹いっぱい。
07/03/08 15:18:11 O6XSymB40
>>763
そりゃ、stringに結果が返るんだから参照渡しなんじゃないの
765:760
07/03/08 16:10:33 PbsxIEko0
ありがとうございます。うまくいきました。
よく見たら、第二引数がLPDWORDっすね・・・orz
>>761
そう言う方法もあるんですね。メモメモ。
766:名無しさん@お腹いっぱい。
07/03/08 16:33:01 7XN40pw00
>764
もちろんおれもそうとは思ったんだけど
VBの例見てみたらなぜか一つ目の引数はByValだったんだよね…
Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal Buffer As String, Size As Long) As Long
767:名無しさん@お腹いっぱい。
07/03/08 16:36:47 7XN40pw00
>760
ちなみにバッファは16バイトでいくない?
コンピュータ名ってANSI15文字までだった気がする。
768:名無しさん@お腹いっぱい。
07/03/08 23:10:03 3vwnAUEJ0
CTRL+Rを押すとあらかじめ作っておいたAというスクリプトが
CTRL+Lを押すとあらかじめ作っておいたBというスクリプトが実行される
こういう感じで使うことってできますか?
769:名無しさん@お腹いっぱい。
07/03/08 23:21:51 QhMdkY5Q0
uwsファイルをuwsc.exeに関連づけを行う
uwsファイルのショートカットをデスクトップに作成
そのショートカットのプロパティを開いて、ショートカットキーを割り当てる
770:名無しさん@お腹いっぱい。
07/03/08 23:26:22 3vwnAUEJ0
>>769
ありがとうございます!
771:名無しさん@お腹いっぱい。
07/03/09 02:16:24 pF+OFex30
>>767
ご指摘の通り、
MAX_COMPUTERNAME_LENGTH + 1 ということなので、16で32も必要ないですね。
772:名無しさん@お腹いっぱい。
07/03/10 16:03:33 EidvIQ3R0
コンパクトなランタイム版欲しくないか?
コピー自由だからEXE化不要というのは概ね同意だったが
ここまでファイルがでかくなるとEXE化というのもアリかな?
773:名無しさん@お腹いっぱい。
07/03/11 15:16:00 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] //URLリンク(www.honda.co.jp)
print EVENT_PRM[1] //URLリンク(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:名無しさん@お腹いっぱい。
07/03/11 17:41:38 gXtUVhMk0
>>773
IDispatch型ってのはそもそもprintするようなものじゃないと思うんだ
775:名無しさん@お腹いっぱい。
07/03/11 22:10:17 FHiSloY00
>>774
**&ppDispは入れ込むものだってのはわかった
URLリンク(www.melonpan.net)
みたいなことをやりたいんだけど無理なんでしょうか
そもそも
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:名無しさん@お腹いっぱい。
07/03/12 00:45:56 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:名無しさん@お腹いっぱい。
07/03/12 01:09:19 A4ISQcDy0
yahooのブリーフケースにいれてあるファイルを開きたいのですがなかなかうまくいきません。
良い知恵orミスの指摘をお願いします。
IELink(IE,"ブリーフケース")
BusyWait(IE)
IELink(IE,"****.xls") //対象ファイル
BusyWait(IE)
ACW(GETID("ファイルのダウンロード"))
CLKITEM(GETID("ファイルのダウンロード"),"開く(O)",CLK_BTN)
778:名無しさん@お腹いっぱい。
07/03/12 02:08:47 JMJM6ows0
おおっと、この場合VALIANT_BOOLだからTRUEは1でよかったね。
まあどちらにしても新しいウィンドウ開いちゃうんだけど。
779:名無しさん@お腹いっぱい。
07/03/12 02:28:25 JMJM6ows0
やっぱVARIANT_TRUEは-1でよかった
ウソ言ってスマソ
780:773
07/03/12 09:03:24 a3O+JiPS0
うはNewWindow2でできました
すいません2で試してなかったようです
cancelが駄目だったからあきらめてしまった
ありがとうございました
781:名無しさん@お腹いっぱい。
07/03/12 16:49:47 n5L2tYqJ0
Sleepで待ってるスレッドを中断するにはどうすればいい?
ウィンドウ持っていればCtlWinで中断できる?
それともSleepの代わりにWAIT・POSTみたいのはWin32APIでできる?
782:名無しさん@お腹いっぱい。
07/03/12 17:13:41 wxNktC0X0
WHILE+GETKEYSTATE
783:名無しさん@お腹いっぱい。
07/03/12 18:30:24 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:名無しさん@お腹いっぱい。
07/03/12 23:08:41 n5L2tYqJ0
それって単にフラグポーリングしてるだけやんか…。
785:名無しさん@お腹いっぱい。
07/03/13 05:29:39 cUL5v4BL0
じゃあなにがしたいの?
786:名無しさん@お腹いっぱい。
07/03/13 09:20:34 cyFSWzt+0
fukidasi("10秒後にこのメッセージを消すぞ!")
thread fukioff(10)
Sleep(20)
Msgbox("噴出し消えてるか?")
Exit
procedure fukioff(t)
sleep(t)
fukidasi()
fend
スレッドでfukidasiが消えてくれないのだが?
なぜ?
吹きだしウインドウを捜してCTRLWINで閉じなきゃ駄目なのか?
それともバグ?
787:名無しさん@お腹いっぱい。
07/03/13 09:30:12 cyFSWzt+0
thread fukioff(10)
Msgbox("噴出し消えてるか?")
Exit
procedure fukioff(t)
fukidasi("10秒後にこのメッセージを消すぞ!")
sleep(t)
fukidasi()
fend
これなら消える。
fukidasi以外も全部そうか?
ああそうかい。
じゃ。
788:名無しさん@お腹いっぱい。
07/03/13 12:15:17 Jt3WP4T70
メイン側とスレッド側のfukidasiは別物。
スレッド数と同じ数のfukidasiを表示できる。
789:名無しさん@お腹いっぱい。
07/03/13 12:39:02 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:名無しさん@お腹いっぱい。
07/03/13 13:29:22 cyFSWzt+0
>>788
> メイン側とスレッド側のfukidasiは別物。
スレッド毎に別になるのは上でもう試したので判ってるが。
例えばコンソールは同じもんなのか?
なーんでだ?ていうかあれは?これは?で全部試さなきゃ駄目そうだな。
UWSCはためしためし作るのがあたりまえなのでそれくらい全然平気だが。
791:名無しさん@お腹いっぱい。
07/03/13 17:03:36 Jt3WP4T70
だったらぶつぶつ言わないでガンバレ。
792:名無しさん@お腹いっぱい。
07/03/13 17:14:31 z+6WW4kl0
複数thread間で、printやbtn、mmvなんかを実行するとき
当然これらはシステムで1つしか存在しない共有資源なんだが
ロックとかどうなってんのかな?
793:名無しさん@お腹いっぱい。
07/03/14 08:49:07 aZuPqBx+0
とにかく試すんだよ。
794:名無しさん@お腹いっぱい。
07/03/14 16:51:21 yQ01SVVO0
質問させていただきます。
以下のような処理を uwsc で組むとどうなりますか。
1.現在、起動中のアプリから"プログラムA" を探す
2.みつかったら、
非アクティブのままで(バックグランドのアプリに)
キーX を送る。
恥ずかしい話ですが、いつもuwscに挑戦しょうとしますが挫折します。
テンプレにかいてあるいろんなサイトにいき、ヘルプなどみているうちに
わからなくなってしまいます。(どれを参考にしてよいかわかりません。)
なにか良い方法はないでしょうか。
上の1.2.を組むためにはどこを見て勉強すればよいのでしょう。
教えていただければ幸いです。
795:名無しさん@お腹いっぱい。
07/03/14 20:35:06 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:名無しさん@お腹いっぱい。
07/03/14 23:09:31 yQ01SVVO0
>>795 回答、有難うございました。
コマンド1つづつ、調べてみます。
797:名無しさん@お腹いっぱい。
07/03/15 20:50:07 echeEF2V0
画面内に指定画像があるか無いかチェックし、あればクリックしたりするスクリプト文を作成したいのですが・・・、うまくいきません;
詳しい方、どうかご教授お願いしますm(_ _)m
798:名無しさん@お腹いっぱい。
07/03/15 21:19:32 gAtpnVa70
>>797
CHKIMG使えばいいと思う。
それとどう上手く行かないのか書かないと分からない。
ご教授じゃなくてご教示、意味の分からないこと葉は使わないほうがいい。
799:名無しさん@お腹いっぱい。
07/03/15 21:21:39 yidvy73a0
>>797
どううまくいかないのか書かないと
誰も答えられないよ。
ここままではヘルプぐらい嫁としか言えない。
800:名無しさん@お腹いっぱい。
07/03/15 21:51:43 RMTAm+Y00
キャラだろ。
801:名無しさん@お腹いっぱい。
07/03/15 21:52:09 Bw9W6nzv0
ま~たオンラインゲームかw
802:名無しさん@お腹いっぱい。
07/03/16 00:22:58 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("つURLリンク(www.google.co.jp))
endif
803:名無しさん@お腹いっぱい。
07/03/16 00:26:58 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:名無しさん@お腹いっぱい。
07/03/16 00:35:15 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:名無しさん@お腹いっぱい。
07/03/16 02:07:45 qAGjSoPe0
>>802
ちょとワロタ
わざわざスクリプトまで組んでくれるなんて
親切な人だね
806:名無しさん@お腹いっぱい。
07/03/16 02:15:31 31It80P50
どういたしまして
807:名無しさん@お腹いっぱい。
07/03/16 03:21:58 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:名無しさん@お腹いっぱい。
07/03/16 04:01:48 e+a/E5Ma0
質問です。
最小化しているウィンドウに対して命令を送ろうと
public 2ch
2ch = GETID("Jane","TApplication")
MOUSEORG(2ch,2)
以降、処理
というマクロを組んだのですが、うまくいきません。
処理自体は、キーボードのボタンを一定時間毎に入力する簡単なものなので
間違いは無いはずですし、上記の記述に不備があるのでしょうか?
クラスの取得には>>712のWinListerを使ったのですが
指定するID自体が間違っているのでしょうか?
皆さんのお力添えをいただきたいです。
809:名無しさん@お腹いっぱい。
07/03/16 09:50:08 7NEMi9s/0
SendMessage
せめてsckey chkitem
janeに何させたいの?
810:名無しさん@お腹いっぱい。
07/03/16 13:37:57 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:名無しさん@お腹いっぱい。
07/03/16 16:44:47 qAGjSoPe0
…
id = GETID("WTL:Donut")
title = STATUS(id,ST_TITLE)
WHILE POS(CLIP,title) <> 0
…
じゃね?
まずは戻り値や変数といった基礎を理解すべし
812:名無しさん@お腹いっぱい。
07/03/16 16:47:23 WOCiyC/30
>>811
了解です。
もっとじっくりと勉強してみます。
813:名無しさん@お腹いっぱい。
07/03/16 17:50:32 qAGjSoPe0
あと、
WHILE POS(CLIP,title) = 0
だな
814:名無しさん@お腹いっぱい。
07/03/16 18:02:54 7NEMi9s/0
TOKENでデリミタ複数指定した時、どのデリミタで引っ掛ったのか判る方法無いの?
組み込み関数が今位置不便なのでどいつもこいつもCOM使うんだよな…。
815:名無しさん@お腹いっぱい。
07/03/16 19:26:55 mqTPjeha0
>>804,807
遅れましたが、どうもありがとうございます。
sleep()
getkeystate(VK_LBUTTON)
を挟むことで、入力の機会を2回得ることが出来ました。
816:名無しさん@お腹いっぱい。
07/03/16 21:27:28 qAGjSoPe0
>>814
そもそもデリミタ複数指定って、想定されてる使用法なの?
817:名無しさん@お腹いっぱい。
07/03/17 04:30:41 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:名無しさん@お腹いっぱい。
07/03/17 04:31:28 MCeA35RR0
あ…
819:名無しさん@お腹いっぱい。
07/03/18 09:45:56 G1MEbanD0
スピーカーから音が出ているかどうかをuwscスクリプトから確認する方法はないですか?
820:名無しさん@お腹いっぱい。
07/03/18 10:51:08 g9NJe7xK0
>>819
// サウンドが再生されたかをチェック
戻値 = CHKSND( [サウンド名] )
821:名無しさん@お腹いっぱい。
07/03/18 11:00:07 N0d6UYUB0
>>820
それだとスピーカーがつながっているかわからないし、
スピーカーの電源が入ってるかもわからないし、
スピーカーのボリュームが最小になっていて聞こえなくなってるかもわからない
822:819
07/03/18 11:08:31 G1MEbanD0
スミマセン、私の質問の仕方はよくなかったかも。
目的は複数の動画ファイルを順に5秒ほど再生して、
音が全然無かったものと、音があったものとを識別したいのです。
音は当然、動画ごとに違うので、ビープとか××.wavとかではないです。
823:名無しさん@お腹いっぱい。
07/03/18 21:55:05 qeai6ROm0
動画に音声ストリームがあるかどうかをチェックするのは可能かもしれんが
UWSCでやる必要は無い。
まず動画ファイルがどういうものか、音声ストリームとは何か
意味を知らないならググれ。
824:名無しさん@お腹いっぱい。
07/03/18 22:00:49 wpAgcroq0
その辺がわからないからOSがハードウェアに指示出すところで
拾えないかなと思ったんじゃないかな
825:名無しさん@お腹いっぱい。
07/03/18 22:03:46 N0d6UYUB0
UWSCで出来たとしてもどのみちDLL使用だろうし、
UWSCじゃないところで勉強してからきたほうがいいな。
826:名無しさん@お腹いっぱい。
07/03/18 22:23:27 g9NJe7xK0
WMPとかで再生してスペアナの画面監視するってのはどうだ?
827:名無しさん@お腹いっぱい。
07/03/19 23:12:54 zKhTt2fP0
SOREDA!
828:名無しさん@お腹いっぱい。
07/03/21 23:34:53 wOQv7e7l0
質問です。
改行を含む文字列をファイルから読み出して、別のファイルに改行抜いて書き込みたいのですが、
CHGMOJを使って<#CR>を検索してもヒットせず改行が削除できなくて困っています。。
何が原因なのでしょうか。
829:名無しさん@お腹いっぱい。
07/03/22 00:19:06 N4q8VkjG0
USB-RS232Cのインターフェースを使っているのですが、
接続の度にCOM番号が移動してしまいます。
uwscで、現在有効なCOM番号を取得する事は出来ますか?
ヒントだけでもいいので、よろしくお願いします。
830:名無しさん@お腹いっぱい。
07/03/22 02:22:37 G1apsxhH0
>>828
改行なし文字列 = chgmoj(改行入り文字列,"<#CR>","")
で普通にできたけど。
まさかファイル読み込み→置換→書き込みを一行づつ処理したりしてないよね?
831:名無しさん@お腹いっぱい。
07/03/22 10:14:02 qku/eKST0
ifb elseif elseの使い方でつまづいています。
させたい事としては
A.bmp B.bmp C.bmpなどの複数画像の認識と、そうでなかった場合の認識で,
メモ帳にA.bmpなどの場合はAと打ち込み、B.bmp、C.bmpも同じようにB,Cと打ち込ませ
画像がみつけられなかった場合にはngと打ち込ませたいと思っています。
現在は
IFB CHKIMG("A.bmp")
KBD(VK_A,CLICK,30)
ELSEIF CHKIMG("B.bmp")
KBD(VK_B,CLICK,30)
ELSEIF CHKIMG("C.bmp")
KBD(VK_C,CLICK,30)
ELSE
KBD(VK_N,CLICK,30)
KBD(VK_G,CLICK,30)
この様にしてありますが、どうもELSE以下の、画像が見つけられなかった時のng入力がうまく
いきません。どのように対処したらいいでしょうか?
832:名無しさん@お腹いっぱい。
07/03/22 10:40:14 G1apsxhH0
>>831
つENDIF
ヘルプぐらい読もうぜ
833:名無しさん@お腹いっぱい。
07/03/22 10:55:55 qku/eKST0
>>832
レスありがとうございます。
上ではENDIF書き忘れました。すみません。
実際にはENDIF入ってます。
ELSEの時がうまく機能しないのです。
具体的に言うと何も画像が見つからなかった時はNGと打たずに
そのままスクリプトが終了してしまます。
834:名無しさん@お腹いっぱい。
07/03/22 11:16:05 TVb0c2890
俺の環境では再現しないな
以下試してみたコード
ChkImg()に問題があるのかな?
IFB FALSE
KBD(VK_A,CLICK,30)
ELSEIF FALSE
KBD(VK_B,CLICK,30)
ELSEIF FALSE
KBD(VK_C,CLICK,30)
ELSE
KBD(VK_N,CLICK,30)
KBD(VK_G,CLICK,30)
ENDIF
835:名無しさん@お腹いっぱい。
07/03/22 12:29:32 qku/eKST0
>>834レスありがとうございます。
ほんとですね、そのスクリプトだと問題なくいけました。
ただ、今つかってるPCと、実行させたいPCが違うので、
後で>>834さんが書いてくれたスクリプトと自分のスクリプトを比べて、
実行させたいPCで試して検証してみます。
ありがとうございました。
836:名無しさん@お腹いっぱい。
07/03/22 18:45:18 2wM5CfJf0
指定画像をクリックさせたいんだが上手く動かん・・・
スクリプトは
Wend
while True
if GETKEYSTATE(VK_ESC) then exit
ifb CHKIMG("a.bmp")
MMV(G_IMG_X,G_IMG_Y)
KBD(VK_CTRL,DOWN)
BTN(LEFT,DOWN,G_IMG_X,G_IMG_Y)
KBD(VK_CTRL,UP)
BTN(LEFT,UP,G_IMG_X,G_IMG_Y)
endif
wend
現在こうなってますマクロ自体は走らせることができるのだが
画像をクリックしにいかない状態。
アドバイスよろしくお願いします
837:名無しさん@お腹いっぱい。
07/03/22 19:53:37 G1apsxhH0
>>836
FAQ中のFAQ
まずはifb~endifの間にprintでも入れて
画像をちゃんと見つけているか確認すれ
838:名無しさん@お腹いっぱい。
07/03/22 22:43:14 +Ql66cZK0
>>836
俺ならば、
MMV(G_IMG_X + 50, G_IMG_Y + 50)
などとするな。(50はbmp中の中央付近の位置として)
それから各操作の間に10~100ミリ程度の時間を置いて。
しかも、
CTRLを離してから左クリックを離す?
それが仕様の動作なのか?
ここの部分は疑問点。
俺ならばCTRL押下でクリックを囲うな。
839:名無しさん@お腹いっぱい。
07/03/22 22:46:31 +Ql66cZK0
それから良くある間違いが、マウスポインタが指定の画像の位置の上にあると当然検知されない。
そのためCHKIMGの前に、その画像が絶対ない箇所へのマウスポインタの移動は必須だ。
その後僅かに時間をとってからCHKIMG
840:名無しさん@お腹いっぱい。
07/03/22 23:15:53 R7pm3fb20
>>829
レス付きそうに無いなぁ…。あれからあちこち見て回って、
なんとなく取っ掛かりになりそうな方法を見つけましたので、質問を取り下げます。
お目汚し失礼しました。
841:名無しさん@お腹いっぱい。
07/03/23 01:20:18 uBr/UHik0
>>840
手動で確認する方法を知っていればその通りにやればいいと思う。
842:名無しさん@お腹いっぱい。
07/03/23 02:09:21 1q7aiu0K0
>>840
未確認だけど
WMIでできないかな?
843:名無しさん@お腹いっぱい。
07/03/23 10:24:54 1q7aiu0K0
新バージョンがでましたよ
UWSC Ver4.2、 Pro版と Free版をリリースしました。
URLリンク(www.uwsc.jp)
844:名無しさん@お腹いっぱい。
07/03/23 11:09:12 P2WtzyeM0
あーぁ
845:名無しさん@お腹いっぱい。
07/03/23 12:04:19 uBr/UHik0
まじ?
846:名無しさん@お腹いっぱい。
07/03/23 12:22:31 uBr/UHik0
英語版はなくなったのか…。
847:名無しさん@お腹いっぱい。
07/03/23 13:06:35 cFrgCyQq0
昨日、初めて使ったんだけど、VBSに目覚めたYO
848:名無しさん@お腹いっぱい。
07/03/23 13:39:02 gCPoW1cE0
EXE化できるとおもったら
6720円のシェア板・・・
849:名無しさん@お腹いっぱい。
07/03/23 13:39:15 1q7aiu0K0
>>847
スレ違い
UWSCはVBSじゃないよ
850:名無しさん@お腹いっぱい。
07/03/23 14:09:01 cKmBDk7C0
>>848
コンパイルしない配布用で、UPX使って1/3程らしい。400kb前後か?
851:名無しさん@お腹いっぱい。
07/03/23 14:20:02 cFrgCyQq0
>>849
VBSに目覚めたYO
852:名無しさん@お腹いっぱい。
07/03/24 00:41:07 pN06s1ix0
>>848
EXE化って必要かな?
起動が面倒だっていうなら起動バッチ作って一緒に配布すればいいし
複数ファイルになるのがいやならまとめて自己解凍ZIPにでもすればサイズも減ってウマー
>>851
違いが分からないようなら
半年ROMってたほうがいいYO
ここでVBScriptな質問して怒られないようにね
853:名無しさん@お腹いっぱい。
07/03/24 02:45:42 psPhH9ly0
>>852
何も知らない初心者に渡すなら exe になってた方が楽かな。
まぁ、AHK があるから UWSC で exe 作れてもなぁ…
854:名無しさん@お腹いっぱい。
07/03/24 04:11:24 YI01TIfJ0
正直今回の変化にはかなり戸惑っている…。
855:名無しさん@お腹いっぱい。
07/03/24 09:35:52 hp8fITTl0
あーあ、ついに金儲けにはしったか。
さよならUWSC
856:名無しさん@お腹いっぱい。
07/03/24 09:37:53 mi/yjfLL0
↑なんでダウソ乞食ってすぐこういう反応するのか理解に苦しむな
857:名無しさん@お腹いっぱい。
07/03/24 09:49:52 5Xt+hBM90
これでフリー版が消えたんならその意見も尤もだが、フリー版はちゃんと残っているし。
いままでのユーザーとしては何の問題もなし。
858:名無しさん@お腹いっぱい。
07/03/24 10:07:29 SaEHRzRt0
フリー版とPro版を全く同じものにすればいいんだよ。
それで金払いたい人だけがPro版を買えばいい。
金を払うほどではないと判断した人はフリー版を使う。
これで万事解決。
金の亡者の作者以外はハッピーになれる。
859:名無しさん@お腹いっぱい。
07/03/24 10:11:01 5Xt+hBM90
おまいさんの図々しさに脱帽で脱力で脱毛で脱腸で脱糞だよ
860:名無しさん@お腹いっぱい。
07/03/24 11:22:17 cpQZ5pcq0
ガッカリ。非常に萎えた。
なんか他にいいのないかな?
861:名無しさん@お腹いっぱい。
07/03/24 11:37:38 2igQbiJF0
まぁ、この機会(Vista)を逃したら、有料化の機会は当分ないからな。
多少「UWSCよ、お前もか」って気持ちはあるけど、仕方ない。
俺は、UWSCのお陰で業務効率が劇的に改善された人なので、
有料化しても買うけどな。むしろ、突然開発中止とかになる
リスクが減ったという意味では良いのかもしれん。
オンラインゲーム厨とか、小遣い稼ぎクリック厨なんかは
文句垂れるだろうな。イイハナシダナー。