101 :
名無しさん@お腹いっぱい。 :
2006/10/10(火) 17:08:24 ID:BqSsW1JB0 UWSCは株式会社が作ってて責任がはっきりしている、 ほかのフリーソフトは使う気にならんな、悪質なプログラムが隠れているんじゃ中と疑う、 UWSCに文句言うのはプログラマーが失業がこわいからだろ。 まあほとんど学生のバイトだと思うが。
102 :
名無しさん@お腹いっぱい。 :2006/10/10(火) 17:11:27 ID:BqSsW1JB0
ACW(GETID("スタート メニュー","DV2ControlHost"),0,244,400,494,0) BTN(LEFT,DOWN,63,749,1272) ACW(GETID("スタート メニュー","DV2ControlHost"),0,244,400,494,0) BTN(LEFT,UP,63,749,140) KBD(VK_U,DOWN,180) MMV(188,724,50) KBD(VK_U,UP,1682) KBD(VK_U,DOWN,180) MMV(188,724,50) KBD(VK_U,UP,1682) //終了プログラムUWSCに投げ込むだけでウインドウXP終了。時間指定すれば勝手に電源オフ
BTN MMV KBD : : この繰返し まだまだ甘ちゃんだね。 (自動書込み by 2ch wacher.uws)
104 :
名無しさん@お腹いっぱい。 :2006/10/10(火) 18:49:33 ID:CzZkec6z0
// マウスカーソル下の文章を読み上げる,英語しか不可 sv_s = "" While True x = G_MOUSE_X; y = G_MOUSE_Y id = GETID(GET_FROMPOINT_WIN) // アクティブウィンドウ ofx = x - STATUS(id, ST_CLX) // 相対位置 ofy = y - STATUS(id, ST_CLY) wks = PosACC(id, ofx, ofy) // マウスカーソル下の文章拾得 ifb sv_s <> wks sv_s = wks Speak(wks) // 読み上げ endif Sleep(0.5) Wend
ヘルプに載っている例文をコピペして何がしたいの君は
106 :
91 :2006/10/10(火) 19:12:49 ID:sATsasDf0
アプリケーション固有の情報を取得して、その情報の内容によって作業内容を決めるというようなことも出来ますか? 具体的には、1万以上ある.xdwファイルのなかでOCR情報が無いファイルに対してOCRをかけたいと言うものです。 せめてリストアップでも出来れば、対象ファイルが1万までOKというソフトを使ってOCRをかけようかなと思ってまして・・ 対象ファイルが1万なら全部OCRかけろ、と言われそうな気もしますが・・・ なんとか自動化したいなと思ってます。せめて、可能か、不可能だけでも御教授いただきたいと存じます。
解釈困難 (自動書込み 2ch_crawler.ahk)
uwsc についてはさほど詳しくないのですが、
xdw ファイルをどんな viewer でみるかによって情報を取得できるかどうか
変わると考えます。
ちょこっと技術的な話をすると listview クラスのクラスや static text など
uwsc でハンドリングできれば、上記のリストアップが可能だと思います。
http://ascii24.com/news/i/soft/article/2004/03/17/648745-000.html でこちらのスクリーンショットなどみるとなんとなくできるのではないのか?
とかって考えましたけど保障はできないです。edit クラスになりそう。。。
で SDK base で xdw の読み書きはできるはずなので、こちらをもちいたほうが
面倒かもしれませんがらくちんぽんです。でここまでがファイルのリストアップ。
リストアップした部分を
OCR にかける部分は、UWSC でスクリプトかけばいいかとおもいます。
と学生がのたまわっています。。。
はずしていたらごめんなさい
109 :
名無しさん@お腹いっぱい。 :2006/10/10(火) 20:33:50 ID:sATsasDf0
>>108 ありがとう御座います。
SDKを使用するとなるとプログラミング言語の習得が必要になりそうですね。。。
道は遠いんですね。
uwsc のスクリプトも basic とほぼ同じ文法なので、似たようなもんかと おもっています。ということで、どんなことやってもさほど道は遠くないです。 一万件の中でリストアップを行わずにとりあえず外部から制御して 自動化なら UWSC で適当にスクリプトかけばよろしいような気がするのですけど 面倒なのでしょうか?
111 :
名無しさん@お腹いっぱい。 :2006/10/11(水) 05:24:23 ID:j5qhh2vO0
>>110 いや・・・。プログラミングなんてしたことが無くて。
面倒な作業の解決策を探しているうちにUWSCを知った口ですので。
貴君の仰るように、適当にスクリプトが書けません。でも、頑張ります。小林シンヤ氏の本も買いましたし。
できれば、ヒントでもいただけますとうれしいな・・・
Primary IDE Channel ALL Integer Float MemoryR MemoryW MemoryRW DirectDraw 15720 0 0 0 0 0 0 Rectangle Text Ellipse BitBlt Read Write RRead RWrite Drive 0 0 0 0 42917 44833 16808 21200 C:\50MB ALL Integer Float MemoryR MemoryW MemoryRW DirectDraw 15357 0 0 0 0 0 0 Rectangle Text Ellipse BitBlt Read Write RRead RWrite Drive 0 0 0 0 41524 44024 18927 18384 D:\50MB ALL Integer Float MemoryR MemoryW MemoryRW DirectDraw 8793 0 0 0 0 0 0 Rectangle Text Ellipse BitBlt Read Write RRead RWrite Drive 0 0 0 0 24450 25806 7710 12376 E:\50MB ALL Integer Float MemoryR MemoryW MemoryRW DirectDraw 12259 0 0 0 0 0 0 Rectangle Text Ellipse BitBlt Read Write RRead RWrite Drive 0 0 0 0 34065 34972 8088 20949 F:\50MB
113 :
111 :2006/10/11(水) 09:41:20 ID:j5qhh2vO0
>>112 ありがとう御座います。疑問が氷解しました。
UWSC でスクリプト書いてる人にお聞きしたいのですが、 速度がボトルネックになってる場合どうやって高速化してるんでしょうか? やっぱり、 COM-server つくるか、 DLL をつくるかでどうにかしてるんでしょうか? 上記のほうでもテキスト読み書きするのが doscmd より遅いとあったように 結構ここらへんのノウハウがしりたかったりします。 よろしければおしえてください。
>>114 やることによるんじゃね?
基本かもしれんが、すぐに思いつくのを列挙すると
* ループ文での条件判断を減らすように結果がキャッシュできるならする
* ログファイルへの出力はDOSCMDも手だけど、
ログファイルのローテーションや、そもそも出力する項目と量を絞る
* SLEEPだけで待機するのでなく、そもそもidleかを確認ループを作る
(余裕を持たせて0.5sec待機するより0.01secを5回程度回した方が速い)
とかかなぁ。俺もあんまりノウハウもってないや
でもDLLとかCOM作るくらいなら最初からC/C++とか使うさw
JavaスクリプトあるいはVisual BasicとUWSC両方を使用している方がいたら質問させてください
Photohop7のスクリプト機能
http://www.adobe.com/support/downloads/detail.jsp?ftpID=1536 のCOMコンポーネントをUWSCで動かそうとしているのですが、
マニュアルの例文(JavaとVISUAL BASIC)に、
textItemRef.Position = Array(0.75, 0.75) という具合にArrayを使用して数値を入れている箇所があるのです。
マニュアルでは、このposition というパラメータは、
position . . . . . . . . . . . Object[ Array of two Numbers(double) ])
position of origin (unit value)
UWSCではこのような場合、どうやってこの数値を入れたらいいのかご存知の方、知恵を貸して下さい
書いているスクリプトはこんな感じです(文字の位置を指定する以外の動作は確認)
ps= CreateOLEObj("photoshop.Application")
ps.Documents.Add(480, 590) //480*590の新規画像作成
ps.ActiveDocument.ArtLayers.Add //新規レイヤ
ps.ActiveDocument.ActiveLayer.Kind=2 // text //新規レイヤをテキストレイヤに
ps.ActiveDocument.ActiveLayer.TextItem.Contents = "wahaha"
// ps.ActiveDocument.ActiveLayer.TextItem.position=array(100,100) <−ここの書き方が分からない
ps.ActiveDocument.ActiveLayer.TextItem.Font = "Georgia"
ps.ActiveDocument.ActiveLayer.TextItem.size = 36
While 1 user= geti(お前) SendStr(id,"少しは働けタコ") Wend //自動スクリプト生成 (realworldsurf.uws)
118 :
117 :2006/10/11(水) 19:08:19 ID:3rPslZqQ0
まだユーザに真意が伝わらない。 バグがあるようだ。 (自動書込み realworldsurf.uws)
119 :
名無しさん@お腹いっぱい。 :2006/10/11(水) 19:17:04 ID:1UcTqtwR0
俺の良く使うスクリプト -- acw(getid(PARAM_STR[0]),0,0) -- BlueWindからつかう(アプリ登録は基本的にGetIdで引っかかる名前で入れてある) 皆様のよくつかう一行UWSCを教えてください
オンラインゲームと デイトレードと 競馬予測 こんなすくりぷとで一杯になりそうだな。 ウェブ検索するとそんなんばっか。 UWSCは人を幸せにしているね。
そうだね、プロテインだね
123 :
名無しさん@お腹いっぱい。 :2006/10/12(木) 07:49:23 ID:XysNT8v10
Javaより簡単だが、まだ難しいだよな
124 :
名無しさん@お腹いっぱい。 :2006/10/12(木) 09:23:54 ID:rDlBU4fJ0
125 :
116 :2006/10/14(土) 00:01:02 ID:tiD3tTjH0
自己解決 KAJIKAS TOWNにようこそ「UWSC/VBScriptの関数を使う」に答えがありました ps= CreateOLEObj("photoshop.Application") SC = CreateOleObj("ScriptControl") SC.Language = "VBScript" ps.Documents.Add(480, 590) //480*590の新規画像作成 ps.ActiveDocument.ArtLayers.Add //新規レイヤ ps.ActiveDocument.ActiveLayer.Kind=2 // text //新規レイヤをテキストレイヤに ps.ActiveDocument.ActiveLayer.TextItem.Contents = "wahaha" ps.ActiveDocument.ActiveLayer.TextItem.position= SC.Eval("Array(100,100)") // "Array(100,100)"をScriptControlに送り、返り値を使用 ps.ActiveDocument.ActiveLayer.TextItem.Font = "Georgia" ps.ActiveDocument.ActiveLayer.TextItem.size = 36
126 :
名無しさん@お腹いっぱい。 :2006/10/14(土) 08:02:02 ID:tIzDCsWZ0
難しい、中学生でもわかる程度のプログラムにならないと、広まらない
すみません。 別のユーザーとして アプリを実行したいのですが できますでしょうか? windowsのコマンドだとrunasに相当するものです。 今のユーザで起動するにはEXECでできたのですが・・・
128 :
名無しさん@お腹いっぱい。 :2006/10/14(土) 12:00:18 ID:FMuMUYs00
すれ違いでしたね ほか逝きます
>>126 分かり易いかどうかは何を扱うかによるんよ。
ユーザに一番近いのはシェルとアプリだろうから
その範囲で使っていれば問題ないし本来そういうもの。
Win32APIとかOLEとか妙に凝ったヤツを無理して勉強する必要はない。
まずやりたい事があればそれができるアプリ(フリーソフトなど)を
捜してからその操作を自動的にやるように勤めた方がいい。
特にUWSCにはインターネット関連を直接扱う関数がないので
IEを使ったスクリプトを使う事が多いが、残念ながら普段自分がIEを
使っているようにスクリプトを作る事は難しい。
だったら無理してそれを使う事はないと思う。まずウェブページを
取得したりHTTPを扱える簡単なツールをさがして使いなれたら
それを使えば良いと俺は思う。
誰かが作った便利なライブラリを使うのもひとつの手。だが、ライブラリは
アプリと違ってそれ単体で使い慣れる事が出来ないから面倒だよね。
誰もが欲しがるカッコイイプログラムなんてまず出来ないんだし
出来る範囲で使ってやればいいと思うよ。
>>127 UWSCへのショートカットのプロパティを参照
>127 DOSCMDでrunas
133 :
名無しさん@お腹いっぱい。 :2006/10/16(月) 09:02:26 ID:HYgbnD2O0
// WindowsXP/Windows2000 のデフラグの実行&シャットダウン dim disk[5] = "(C:)", "(D:)", "STOP_DFRG" // 調べるディスク名定義 exec(GET_SYS_DIR+"\mmc.exe dfrg.msc") // デフラグ起動 id = getid("ディスク デフラグ") dcnt = 0 While ClkItem(id, disk[dcnt], CLK_SHORT) ClkItem(id, "分析") ifb KINDOFOS() >= 13 // Windows XP Repeat; sleep(1); Until id<>getid("ディスク デフラグ ツール") bnsekiid = getid("ディスク デフラグ ツール") wks = GetStr(bnsekiid, 1) sai_msg = "最適化してください" else bnsekiid = GetID("分析が完了しました", , -1) // Windows2000 wks = GetStr(bnsekiid, 1, STR_STATIC) sai_msg = "最適化することを推奨" endif
134 :
続き :2006/10/16(月) 09:02:56 ID:HYgbnD2O0
ifb Pos(sai_msg, wks) > 0 // では最適化 ClkItem(bnsekiid, "最適化") While True Sleep(2) ifb KINDOFOS() >= 13 // Windows XP wks = GetStr(getid("ディスク デフラグ ツール"), 1) ifb Pos("最適化が完了しました", wks) > 0 ClkItem(getid("ディスク デフラグ ツール"), "閉じる") Break endif else wks = GetStr(id, 1, STR_STATIC) if Pos("一時停止", wks) > 0 then ClkItem(GetID("デフラグ ツール"), "はい") ifb Pos("最適化済", wks) > 0 ClkItem(GetID("最適化が完了"), "閉じる") Break endif endif Wend else ClkItem(bnsekiid, "閉じる") // 最適化必要なし endif dcnt = dcnt + 1 // 次のディスクへ Wend POFF(P_POWEROFF or P_FORCE) // 電源断
135 :
名無しさん@お腹いっぱい。 :2006/10/16(月) 09:03:58 ID:HYgbnD2O0
// マウスカーソル下のウィンドウのタイトルとクラス名を表示 While True id = GETID(GET_FROMPOINT_WIN) // マウスカーソル下のウィンドウ moji = STATUS(id, ST_TITLE) + " , " + STATUS(id, ST_CLASS) Fukidasi(moji, G_MOUSE_X+8, G_MOUSE_Y, 3) Sleep(0.2) Wend
136 :
むっずかしい :2006/10/16(月) 11:29:51 ID:jK9okWJi0
も少し簡単なプログラム製作ソフトないかな。
開いているsべてのウィンドウを 閉じるスクリプトを どなたが組んでましたら くださいませ〜
138 :
訂正 :2006/10/16(月) 15:25:35 ID:H0BBNBLi0
開いているすべてのウィンドウを 閉じるスクリプトを どなたが組んでましたら くださいませ〜
POFF(P_SHUTDOWN)
140 :
むっずかしい :2006/10/16(月) 21:04:20 ID:9pakctTK0
winKazu=GETALLWIN( ) for i=0 to winKazu-1 d=ALL_WIN_ID[i] CTRLWIN( id, CLOSE ) next
142 :
むっずかしい :2006/10/16(月) 21:55:12 ID:9pakctTK0
定義されていません、変数何たらのエラーばかりでる。 うーんどこがいかんのか
>>137 winKazu=GETALLWIN( )
for i=0 to winKazu-1
id=ALL_WIN_ID[i]
CTRLWIN( id, CLOSE )
next
uwscの多重起動の方法を教えて下さい
uwsc.exe baka.uws uwsc.exe aho.uws
146 :
名無しさん@お腹いっぱい。 :2006/10/17(火) 08:07:01 ID:05dtnnnT0
もっと日本語でプログラムをつくれんかな、
>>143 ありがとうございます。
sleepを挟んで使いたいと思います。
>>135 これってさぁ〜、もっといいツールがあるようなきがするのよね。。。
autoit の附属ツールとか、
halbow さんの windowtree とか、spy++ とか、自作してもいいしね...
でも、UWSC にもそういうツールほしいね orz
149 :
名無しさん@お腹いっぱい。 :2006/10/18(水) 21:44:36 ID:ckDcH2dv0
もっと簡単にならないかな。日本語で命令するとそのとうりにパソコンが動くようにするとか、 せっかくここまで簡単にしたのだし。
>>149 5W1H をきちんと入れた命令をしないと予期せぬ動作をするツールとかでそうだな。
GCC Frontend for Shakespeare Programming Language とかみたいなものをいってたりする? 英語ならともかく、日本語ってここらへんむづかしいよね...
予想、Basic みたいな構文になったのって、周知だとおもうけれど、 ScriptIt からきてるからだと考えてるんですけど。 Basic がきらいというのならともかく、日本語みたいのって ロケットマウスとか?
とりあえずなでしこから始めてみればいいのか
AutoHotkeyのとっつきにくい文法に較べれば実に分かりやすいよ
両方使ってますけど、常用してるのはUWSCで、フロントエンドっぽいのはAutoHotkeyでやってますね。 ウィンドウを作るようなGUI関数と、実行ファイル化がAutoHotkeyの長所かも。 いちいち変数を作らないといけないのと、配列が面倒なのが短所だと感じました。
156 :
名無しさん@お腹いっぱい。 :2006/10/20(金) 14:43:40 ID:nOjFv8sg0
KBD(キーボード)Mmv(マウス)の動きの命令だというのはわりと わかりやすいけど、 エラー表示がでても、じゃあどうすればいいのかが出てこないので素人にはまだ むずかしい、 変数、やら定義されていませんとか意味がわからん
157 :
名無しさん@お腹いっぱい。 :2006/10/20(金) 14:47:45 ID:nOjFv8sg0
自分がしたいのは、たとえば時間が来たらこのページをデスクトップに ファイル名に時刻をつけて保存 して一定の時間が来たら、 決まった文をその掲示板に書き込むというのだけど キーボードで作ろうとするとうまくいかない。
>>156 > 変数、やら定義されていませんとか意味がわからん
とりあえずこれだけ調べればあとは簡単に使えるようになるよ。
getを変数として定義したと仮定 get = GETID(GET_ACTIVE_WIN) CtrlWin(get, CLOSE2) と設定して、アクティブウィンドウを閉じようとしてたんですが、 なぜか電卓やエクスプローラやメモ帳は閉じれるのに インターネットエクスプローラ(IE)を閉じる事ができません。 どなたか解決する事ができるお方いらっしゃいますでしょうか?
160 :
名無しさん@お腹いっぱい。 :2006/10/22(日) 01:09:07 ID:GGzo9HXt0
windowsマクロの本を買って読んでみたのだけど、いきなり中級 レベルに飛んでる感じでわかりにくい。 もっと日本語に近い文法でプログラム組める方法ないかな
なぜ日本語に拘るのか不明。 識別番号にウィンドウ名が××でクラス名が□△のウィンドウ識別番号を取得して代入。 こんな感じだと判り易いわけ? 自分が理解できないとこが何なのかそこんとこよく考えてみよう。
>>161 触ってやるな
アルファベットアレルギーのジジイなんだろう
素直にひまわりに移行すればよい物をな
そゆこととぜんぜんちがうだろ。 普通じじぃのほうがプログラム中の日本語に違和感を持つ。
ぴゅう太でも引っ張り出してくればいいのか BASICがこれほどまでに懐かしいものになるとは
165 :
名無しさん@お腹いっぱい。 :2006/10/22(日) 20:59:24 ID:rkBVqnFx0
確かに簡単だけど 日本語の分からない人に電話で操作を指示したのと変わらないぐらい とんでもない動作をしそう。
中学も卒業してないおれには無理だ
日本語なんざ補完もろくにできないんだから
169 :
名無しさん@お腹いっぱい。 :2006/10/22(日) 21:38:24 ID:rkBVqnFx0
日本語を英語や中国語に変換するプログラムがあるんだからできそうだがなあ
>>169 >日本語を英語や中国語に変換するプログラム
未だまともな(ry
どうせ日本語が使えても "C:Program Files\hogehoge\hogera.exe" をきどう ほげらのはんどる に まどをさがせ "hogeraform" ""(ry ...うんざりだとおもうんだ 多少ましにするとしても 変数である"ほげらのはんどる" に "ウィンサンニーアプリケーションインターフェース"の "ファインドウィンドウ"関数を第一引数に"hogeraform" また 第二引数に"" を渡した結果を代入せよ はっきり言ってスパゲティ・ソースなんかではなくカオス・ソースができると思うんだ こんなのより今の方がよっぽど中学生に優しいと思うのは私だけかな? そもそも、日本語入力という最大の欠点を抱えているよ 漢字を対応させるべきか?ワイドスペースは空白類と見なすべきか? そもそも、クラス名とかはアルファベットしかあり得ないから 日本語入力/直接入力/日本(ry 日本語でプログラムなんて英語を習っていない小学生のため"だけ"にあると思うんだ
>>165 それを実行したら
「入力誤り」
と出たらどうするんだ?
173 :
名無しさん@お腹いっぱい。 :2006/10/23(月) 16:24:30 ID:grMbzbux0
174 :
名無しさん@お腹いっぱい。 :2006/10/23(月) 16:32:40 ID:grMbzbux0
人間に命令する場合は、簡単でいいのはわからないところ 人間が質問しかえしてくれるからだ。 ご飯作れ→何つくればいい? 玉子焼き→甘いのがいいか辛いのがいいか? 甘いのがいい→OK このソフトの欠点はパソコンがエラーだけだして俺 わからんで終わり。
175 :
名無しさん@お腹いっぱい。 :2006/10/23(月) 16:37:30 ID:grMbzbux0
ちょっと文字打ち間違えてもエラーと出るからめんどくさい、 googleの検索なら、もしかして機能があって、近 い言葉を表示してくれる
>>174 パソコンがってw
万人向けのソフトではないのだから、しょうがないじゃん。
177 :
名無しさん@お腹いっぱい。 :2006/10/23(月) 22:10:03 ID:f6X2ciKQ0
技術的には優れているとは思うが、日本人が難しい使えないといったらそれまで WindowsXpだって日本語キーボードが無ければこれほど広まらない。 一から言語憶えるんでは、んなひまねえよ、でおわり、
日本語になった途端使いやすくなると甘い夢抱いてるんだろうな。
179 :
名無しさん@お腹いっぱい。 :2006/10/24(火) 01:10:16 ID:f/S+mxkS0
>>177 一から覚えたほうが早いくらいの膨大な処理が必要な人が使うものなんでしょうね。
そりゃ、もっと簡単なほうがいいけど、他にないのだからしょうがない。
まさにないものねだりだね。
盛り上がってるところ悪いけど日本語うんぬんじゃなくて、 なんかやりたい場合はそれに関するしくみを知らなきゃ駄目って事に気付け。 あとUWSCで何ができるかとか。これは人が誰かに何かを仕事を頼む場合も一緒。 相手が出来る事と自分がやりたい事の対象の仕組みを知らないと人にも伝わらん。 まずは自分が知っている事とUWSCに出来る事をちょっとずつ知っていって その範囲でやればいいじゃないか。 人がPCを操作する事は画面表示や音を認識して判断してキーやマウスで 操作するだろ。これは結構高度な技だ。自分がいつもやっている事を曖昧さ 抜きの日本語の文章にしろといわれればそれを厳密に書くのはかなり難しい。 おっちゃんが書いた日本語じゃ正直誰にも判らんよ。しかもOfficeとかIEとかは UWSCの基本機能じゃ使えんのよ。COMっていう借り物機能を使わなきゃならん。 まずはIEとかOfficeとか面倒なソフトは使わん事を考える。 どうしても使いたい場合は画面の位置を常に固定して邪魔が入らないように ROCKHARD(邪魔禁止)して特定の位置をマウスクリックするだよ。 その場合は画面の判定とかは当面無しな。 判らん事があればここのにぃちゃん達が詳しく教えてくれるから 文句言う前に素直に質問することだべ。 じゃ、おっさん頑張れよ。
これダメだとMSOffice付属のVBAもダメな奴だろうな
VBAなどわからんのが普通。 それでも使えるヤツが多いのは給料もらうのに必死だから。 毎朝社屋の前の駐車場で長い社訓を大声で叫んでいるのも 給料もらうのに必死だからだろ。 しかも可愛そうに死ぬまで忘れられない。
>>182 本来業務そっちのけで VBA やって遊んでる俺は?
184 :
名無しさん@お腹いっぱい。 :2006/10/25(水) 01:06:09 ID:CQ3XmHN10
>>183 VBAを知ってから仕事が遅くなった俺も。
仕事にかかる前にVBAの教科書を2時間読んで実験しまくる。
この時間が楽しくって、本来の目的を忘れそうです。
それで給料もらえるんだから皆必死必死 UWSCも競馬やらクリックビジネスで必死必死
すまん今日から始めた超初心者で 練習代わりに「新着レスの表示」の所を三秒毎にクリックし続けるマクロ組んでるんだがどうにもうまくいかない。 新着レス〜の部分だけ切り取って2ch.bmpで保存してある。 GETID(" ■2ch BBS .. - Microsoft Internet Explorer","IEFrame") CHKIMG("2ch.bmp",0)//画像 BTN (LEFT,CLICK,G_IMG_X+10,G_IMG_Y+10)//カーソル調整+10,+10 Sleep(3.0)//三秒停止 どこが悪いのか教えてくれい
画像を使う必要があるのか?
OPTION EXPLICIT
DIM url, ieobj
url = "
http://pc7.2ch.net/test/read.cgi/software/1156416884/ "
ieobj = CREATEOLEOBJ("InternetExplorer.Application")
ieobj.Visible = True
ieobj.Navigate(url)
wait(ieobj)
WHILE 1
DIM i
FOR i=0 TO ieobj.document.links.length-1
IFB ieobj.document.links[i].innerText = "新着レスの表示" THEN
ieobj.document.location = ieobj.document.links[i].href
ENDIF
NEXT
SLEEP(3)
wait(ieobj)
WEND
PROCEDURE wait(obj)
REPEAT
SLEEP(0.1)
UNTIL !(obj.busy) AND (obj.readyState = 4)
FEND
俺は
>>186 の方法の方が自然だと思う。
ただ俺はCHKIMGは一度も浸かった事が無いし
実際やるなら
>>187 のような方法を使うだろうが…。
>>186 で気になるのはCHKIMGの戻り値を判断している部分が見当たらない事。
↓こんな感じでデバッグして結果を報告せよ。
While(GetkeyKeyState(VK_ESC)=FALSE
id= GetId(" ■2ch BBS .. - Microsoft Internet Explorer","IEFrame")
x1= Status(id,ST_X)
y1= Status(id,ST_Y)
x2= x1+Status(ST_WIDTH)-1
y2= x1+Status(ST_HEIGHT)-1
IfB ChkImg("新着レスの表示.bmp",0,x1,y1,x2,y2)=TRUE Then
Fukidasi("ここか? X=" + G_IMG_X + "Y=" + G_IMG_Y)
MMv(G_IMG_X, G_IMG_Y)
EndIf
WEend
> x2= x1+Status(id, ST_WIDTH)-1 > y2= x1+Status(id, ST_HEIGHT)-1 > WEnd
190 :
名無しさん@お腹いっぱい。 :2006/10/25(水) 21:02:17 ID:Mxv0KDZa0
ファイル名に日付つけるのわからん
>>190 GETTIME(0)
fname = G_TIME_YY + "-" + G_TIME_MM + "-" + G_TIME_DD + ".txt"
// 例)
fid = FOPEN(fname, F_READ or F_WRITE)
FPUT(fid, "ファイル名に今日の日付をつけますた。", 0)
FCLOSE(fid)
// ヘルプを好く呼んで下さい。
静止画でないものを認識したいのですが、 動画判定のような事は可能なのでしょうか。
防犯用の見張り番ソフトを使え。
195 :
名無しさん@お腹いっぱい。 :2006/10/27(金) 23:34:59 ID:QfuoOcqJ0
//windowpicker.uws //スクリプトここから while 1 fukidasi("Alt+Clickでウインドウの情報を取得します") ifb GETKEYSTATE(VK_ALT) and GETKEYSTATE(VK_LBUTTON) then fukidasi("情報を取得しています") id=GETID(GET_FROMPOINT_WIN) fname = GET_CUR_DIR+"\windowPicker-"+STATUS(id,ST_CLASS)+".txt" ifb STATUS(id,ST_CLASS)="#32770" fname = GET_CUR_DIR+"\windowPicker-"+STATUS(id,ST_TITLE)+".txt" endif fid = FOPEN(fname,F_WRITE) fput(fid, "st_title=" +STATUS(id,ST_TITLE)) fput(fid, "st_class=" +STATUS(id,ST_CLASS)) fput(fid, "st_parent=" +STATUS(id,ST_PARENT)) fput(fid, "st_path=" +STATUS(id,ST_PATH)) fput(fid,"")
196 :
名無しさん@お腹いっぱい。 :2006/10/27(金) 23:38:42 ID:OgJ80jiw0
貼り付けようとしたら>>が多すぎますが出て書き込めなかった。 確実にいえるのはこのソフト難しくて広まらないな。 道理で寂れるわけだ。
楽して金儲けする妄想にとりつかれているヤツがいる限り寂れない。
198 :
名無しさん@お腹いっぱい。 :2006/10/29(日) 06:44:07 ID:4hkXHmjc0
ウインドウのタイトル取るときは簡単で右クリックプロパティでわかる、 しかしクリックするボタンを知ろうと表示(V)ソースでクリックしても ごちゃごちゃ小難しい文字が並んでわからん
おっちゃんさぁ、ウィンドウズのウィンドウとIEのウィンドウがごっちゃになってるよ。 IEの中身はUWSCの基本機能じゃ基本的には直接いじれないって言ってるだろ。
200 :
名無しさん@お腹いっぱい。 :2006/10/30(月) 14:38:07 ID:/PcfHUDW0