自動化ツールuwsc使いよ集まれ4at SOFTWARE
自動化ツールuwsc使いよ集まれ4 - 暇つぶし2ch2:名無しさん@お腹いっぱい。
09/03/02 20:05:26 7l99ta7h0
>>1
公式サイトとかちゃんと訂正すればいいのに

3:名無しさん@お腹いっぱい。
09/03/02 21:27:21 9PDTuTrY0
Windowsを自動化させるツールUWSC。
URLリンク(www.uwsc.info)

uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。

前スレ
自動化ツールuwsc使いよ集まれ3
スレリンク(software板)

同様の機能を持ったフリーソフト

AutoIt
URLリンク(www.autoitscript.com)

WindowController
URLリンク(chi.usamimi.info)<)
スレリンク(software板)

こんなかんじ?

4:名無しさん@お腹いっぱい。
09/03/03 18:02:08 /b8Pmjb40
>>前スレ986 ( スレリンク(software板:986番) )
クリックだとページ変遷が発生しないか?
a 要素の target 属性に _blank とか指定されてたら別だが
// 親要素が a の img 要素で src 属性値に特定の文字列が含まれるものをすべてクリック
// 変数 ie には対象の IE オブジェクトが代入されているものとする
DIM str = "http://~~~/Apos/img/web/10174"
DIM imgelmlst = ie.Document.images
DIM imgelm, elm, i

FOR i=0 TO imgelmlst.length-1
  imgelm = imgelmlst.item(i)
  elm = imgelm.parentElement
  IF elm.tagName <> "A" THEN CONTINUE
  IFB POS(str, imgelm.src) THEN
    imgelm.click()
    //navigate_new_window(elm.href)
  ENDIF
NEXT


FUNCTION navigate_new_window(uri, iswait=FALSE)
  DIM ie = CREATEOLEOBJ("InternetExplorer.Application")

  ie.Visible = TRUE
  ie.Navigate(uri)
  RESULT = ie
  IF !iswait THEN EXIT

  REPEAT
    SLEEP(0.1)
  UNTIL !ie.Busy AND (ie.ReadyState = 4)
FEND

5:名無しさん@お腹いっぱい。
09/03/03 22:00:52 Qzu1epvm0
zip暗号では不足な用途で暗号化させるとしたら
AES256bit(無圧縮でも可)7-zip32.dll叩くのが一番簡単?

6:名無しさん@お腹いっぱい。
09/03/03 22:30:36 vm5EEjZv0
>>5
簡単の定義が人それぞれだと思うけど
復号化する時の汎用性とかを考えたら良い選択肢だと思うよ。

完成時にはソース見せてもらえると嬉しい

7:名無しさん@お腹いっぱい。
09/03/04 08:36:31 VY2/fRca0
シェアウェア化が痛すぎる…

8:名無しさん@お腹いっぱい。
09/03/04 13:15:09 gDPQebo/0
?

9:名無しさん@お腹いっぱい。
09/03/04 16:44:28 LtMPuC430
IE = CreateOLEObj("InternetExplorer.Application")
の行でたまに comエラーが出てしまいます
原因はなんでしょうか?

10:名無しさん@お腹いっぱい。
09/03/04 22:44:16 e9V9llDo0
連想配列の値に配列って設定できないの?

 hashtbl 連想配列
 dim 配列[] = "hoge", "piyo", "foo", "bar"
 連想配列["キー"] = 配列

とか。連想配列["キー"][0] とかで値を取り出したいんだけど…。

11:名無しさん@お腹いっぱい。
09/03/04 23:07:07 ys2pcLW80
>10
気持ちは判るw 是非多次元連想配列の要望を出してくれ…

12:名無しさん@お腹いっぱい。
09/03/04 23:10:55 e9V9llDo0
できないのか…(´・ω・`)ざんねん

13:名無しさん@お腹いっぱい。
09/03/04 23:26:39 ys2pcLW80
うーん >11と書いてみたものの、データを直打ちで配列宣言する場合は殆どないから、
例えばTAB区切りデータの分解作業を入れる時に行うか、出した時に行うかくらい
の違いだけのような気がしてきたw

>12
ちょっとググッてみたらPerlにはあるみたいですね。

14:名無しさん@お腹いっぱい。
09/03/05 03:06:53 +SmhvS7q0
ScriptControlを使って、VBScriptで関数書いて呼び出したくなりますね

15:名無しさん@お腹いっぱい。
09/03/05 12:37:12 EaCn0e5y0
>>4
動作確認しました。m(_ _)m
しかし、これできそうでできない・・・

ie.Document.imagesとかってヘルプとかに載ってないしみんなどこで
勉強してるんですか?本には、いくつかie.Document.○○みたい
なのが載ってましたが。

2年ぐらいやってますが全然思ったとおりの動作ができない('A`)

16:名無しさん@お腹いっぱい。
09/03/05 13:17:43 DySh1P490
>>15
WEBの自動化は殆どやらないから詳しくはないけれど、一応、下の公式の過去ログはPickupしてあるよ。
URLリンク(www3.bigcosmic.com)
URLリンク(www3.bigcosmic.com)

17:名無しさん@お腹いっぱい。
09/03/05 18:14:40 ZQFae9PN0
>>15
>>4 を貼った者ですが、どこら辺でコけたんでしょうか?

所謂 IE オブジェクトのメソッドとプロパティは
MSDN で IWebBrowser2 の項目から辿っています
ドキュメントの構造は Fx の Firebug で見てます

18:名無しさん@お腹いっぱい。
09/03/05 21:11:25 1LWRbfue0
>>15
周りに頼りきりなのに、しにうせろ、と書くような傲慢さがいやだなぁ…

19:名無しさん@お腹いっぱい。
09/03/05 21:21:42 EaCn0e5y0
>>17
前回の画像ではなくアドレスを回っていくやつから似たようなことできると
思ってましたが、変数の宣言からして全く違いました。

例えば"A"というのありますが、そうゆう発想すらなかったです。

>>18
死にうせろは、人によりますよw明らかに答える意志もないのに
馬鹿にしたことを言った場合のみです。答えたくなければスルー
すればいいのに。

今度このスレで「できますよ」が書き込まれたら「死にうせろ」と
いう書き込みをするスクリプトを作ってほしいね。

えっ?また頼るのかって?w お願いしますm(_ _)m

20:名無しさん@お腹いっぱい。
09/03/06 00:58:29 +CVUN/Ag0
できますか? -> できます
で、なにが不満なのかさっぱり分からない。
説明して欲しいなら、最初から出来ないので教えてくださいとでも書けばいい

21:名無しさん@お腹いっぱい。
09/03/06 08:58:31 759IdkdT0
>>19
とっとと しにうせやがれ

22:名無しさん@お腹いっぱい。
09/03/07 02:03:17 Qe+EoY5dO
ケータイからカキコ。
ケータイで入力できんからメール経由だけどパソコン用とケータイ用のアドレスが違うんよね。
アドレスを変換してケータイに送信できたらいいんだけど。

23:yyZEvxbNuOOjjO
09/03/07 02:07:27 4flKp1Lr0
URLリンク(www.esnips.com) free movie ringtone
URLリンク(hubpages.com) debt consolidation loan very
URLリンク(www.soundclick.com) dating for single


24:名無しさん@お腹いっぱい。
09/03/12 17:58:51 htMiytqb0
質問です
2つのフレームになっているIEで2番目のフレームの文字列を取得したいのですが
どのようにすればいいのでしょうか?


25:名無しさん@お腹いっぱい。
09/03/12 20:10:02 f2vfu1VH0
>>24
私は、フレームのアドレスを個別に表示させて対処しました。


26:名無しさん@お腹いっぱい。
09/03/12 22:54:26 2ac77gz80
普通にframe呼べばいいんでない?
IE.Document.Frames(0).Document.innerText
IE.Document.Frames(1).Document.innerText


27:名無しさん@お腹いっぱい。
09/03/12 22:57:31 2ac77gz80
フレームが入れ子の時は
IE.Document.frames(0).frames(0).document~


28:24
09/03/14 00:06:29 WW00fLfU0
>>25-27
thxです。>>26の方法で試みましたが今のところうまくいってません。スクリプト自体が
わかってないため仕方在りません。もう少し頑張ってみて突破口が見いだせなかったら
また質問させていただきます。


29:名無しさん@お腹いっぱい。
09/03/14 12:30:12 v6fI1qaH0
すみません a.txtというのを開くにはどうしたらいいのでしょう
exce でやっても開けません

30:名無しさん@お腹いっぱい。
09/03/14 13:35:35 nLOF2dl0P
execはあくまで「アプリケーションを実行する」のが目的なんです。
この場合の「開く」っていうのは
「テキストエディタを起動してその中でテキストファイルを表示させる」
っていう事になるので意味が違います。

普通、テキストエディタにファイル名をパラメータとして渡してあげるとそのテキストを開いてくれます。
ヘルプにはexecでパラメータをつけた場合の扱いは記述されていないのでDosCmdを使えば良さそうです。
詳細についてはヘルプでご確認ください。

ファイル名="<#DBL>C:\Users\youjo\Desktop\a.txt<#DBL>"
ノートパッド="notepad"
秀丸="<#DBL>C:\Program Files\Hidemaru\Hidemaru.exe<#DBL>"

DosCmd(ノートパッド + " " + ファイル名, TRUE)
DosCmd(秀丸 + " " + ファイル名, TRUE)



31:名無しさん@お腹いっぱい。
09/03/15 14:15:45 MJ0s+kkcO
規制の為、携帯から失礼します。

色判定の事で質問させてください。
決まった色で判定する事はできるようになったのですが、処理のたびに微妙に色が変わってしまうため、だいたたい黄色っぽい という風に判定したいのですが、どうしても理解する事ができません。
もしよろしければご教授いただけないでしょうか?

32:名無しさん@お腹いっぱい。
09/03/15 14:48:41 KaKZ97Wt0
>>31
UBTrek (掲示板最下部) で peekcolor で検索すると沢山ヒットしました。サンプルも掲載されています。

1165 件中 / 20件
1128 バックグラウンド 
1041 色判定の範囲 
0951 ファイルの取得 
0899 神経衰弱プログラム(トランプではなく絵) 
0734 あ 
0691 条件判断書式 
0651 色判定 
0645 多重定義回避 
0598 非アクティブウィンドウに対してのキー操作 
0379 範囲について。 
0264 peekcolor関数 
0184 Peekcolor 
0100 peekcolor 
0058 質問があります 
0031 画面のプロパティー 
0027 peekcolor 
0026 ヘルプファイル添付のスクリプト 
0024 UWSCのスクリプトについて 
0011 最小化状態のウィンドウ 
0003 select文で 

検索でHitしたw しかしなんでPeekColorとかChkimgとか使いたがるんだろう?
あくまで最終手段だと思うんだけど…

33:名無しさん@お腹いっぱい。
09/03/15 17:58:58 IZMSH5U20
そりゃおまえさん…
外部ツールとして使うためだよ。

34:名無しさん@お腹いっぱい。
09/03/15 20:58:13 Ml9cDsd/0
UBTrek使ってみたいんだけど、何を検索しても
>0 件中 / 0件
ってなるんだけど。何かやり方が間違ってるのかな?

環境
・Vista Business
・IE7 タブモード
・UWSC Ver4.5
・画面遷移がログを取得せずに終わってるように見える
・アンチウィルスソフト切ってもだめ

35:名無しさん@お腹いっぱい。
09/03/15 23:40:24 KaKZ97Wt0
>>33
外部ツール?
フル画面のゲームとかならともかく、普通の窓のあるアプリなら色、イメージで確実性が増すように
細工してる暇があったら他の方法探した方が早くて確実ってことを言いたかっただけなんだけど…

36:名無しさん@お腹いっぱい。
09/03/15 23:45:08 IZMSH5U20
>>35
ちょっと前にゲームの画像認識で話題になったんだよ。このツール。
もちろん、通信を解析して行動する方が確実だけど。
汎用性は高いと思うんだ、このツールは。

37:名無しさん@お腹いっぱい。
09/03/16 00:00:27 Qk5ZfeY50
uwscでエクセルを開いて指定のシートを開きたいのですがどうすればいいのでしょうか

よろしくお願いします

38:名無しさん@お腹いっぱい。
09/03/16 01:36:12 BkAbLvKa0
>>36
ああ、ナルホド。そっち系の話ですか…
興味ないから判らんけど、それ用途ならAHKの方が向いてない?

39:名無しさん@お腹いっぱい。
09/03/16 01:41:10 BkAbLvKa0
>>37
URLリンク(t_shun.at.infoseek.co.jp)

40:名無しさん@お腹いっぱい。
09/03/16 09:45:22 Qk5ZfeY50
>>39
ちょ それVBAw

41:名無しさん@お腹いっぱい。
09/03/16 11:37:57 5PpK2M3mO
COM操作でVBAとの違いは無い
ためしてみな

42:名無しさん@お腹いっぱい。
09/03/16 21:16:43 Qk5ZfeY50
fopen("D:\Mydocumment\abc.xls")
で開かないんだけど何ででしょうか?

43:名無しさん@お腹いっぱい。
09/03/16 21:31:30 TqPC0VEm0
>>42
>>30みたくExcelのパスとファイル名指定でいけるんじゃ?

44:名無しさん@お腹いっぱい。
09/03/16 21:34:26 TqPC0VEm0
Excel = CreateOLEObj("Excel.Application") // Excelの操作
Excel.Visible = True
Excel.WorkBooks.Open(FileName :="C:\Documents and Settings\a\abc.xls", readOnly :=False) //エクセルファイルを開く

45:名無しさん@お腹いっぱい。
09/03/16 21:36:13 Qk5ZfeY50
ID:TqPC0VEm0 さん ありがとう
敷居が高いねuwscは ネットで調べても関数が全部乗ってなくて困る
ヘルプは分けわかめだし

46:名無しさん@お腹いっぱい。
09/03/16 21:38:49 6Ib1sm5X0
RAPEAT関数で終わりのUNTILに表示画面のアドレスのあるなしで
判断しようとしてるのですが、うまくいきません。

UNTIL POS("URLリンク(URL)", IE.document.links[A].href) < 0

リンクのアドレスで判断しようとしたのが上ですが、どこが悪いのでしょうか?

47:名無しさん@お腹いっぱい。
09/03/16 21:42:51 TqPC0VEm0
>>45
Googleで「UWSC Excel エクセルファイルを開く」とかいう具合に「UWSC」をつけて検索すると結構でてくるよ

48:名無しさん@お腹いっぱい。
09/03/16 22:32:48 Qk5ZfeY50
本買って勉強したらだいぶ理解できるようになった
本家にこの本の中身丸ごとコピっておいてくれれば・・・

49:名無しさん@お腹いっぱい。
09/03/16 23:49:24 TqPC0VEm0
はじめの一歩をやるときは本を買うのが手っ取り早いね
はじめはなんていってもなにで検索したら応えに辿り着けるかもわかんないから

50:名無しさん@お腹いっぱい。
09/03/19 15:38:36 qhvpuXrj0
body = IEGetSrc(IE, "BODY")
body = Copy(body, Pos("<SMALL>日付</SMALL>",body), 999999) // 取得開始位置
body = Copy(body, 1, Pos("</TBODY>",body)) // 取得終了位置
body = ChgMoj(body, "<B>", "") // 邪魔なタグ
body = ChgMoj(body, "</B>", "")
dim sdat[7]
y = 0
While True
  for x = 1 to 7 // 列
sdat[x] = BetweenStr(body, "<SMALL>", "</SMALL>", y*7+x)
if sdat[x] = EMPTY then break 2
  next
y = y + 1
XLSETDATA(Excel, sdat, "A"+y) // 行単位で設定
Wend

これワケわかめ

51:名無しさん@お腹いっぱい。
09/03/19 16:14:32 78bA8AOX0
これの解説書って
windowsマクロテクニックのことでしょうか?
他にもお勧めあったら教えていただきたい

52:名無しさん@お腹いっぱい。
09/03/20 01:14:08 2vqtVJvk0
見たこともないからアレだけど、本を読むくらいならこれのヘルプのサンプルを
順にやって見た方が早い気がするなぁ。
ヘルプ、M$のヘルプなんかに比べて遥かに判りやすいと思うよ…
それをやって感じが判れば、後は公式のログ調べればヤリタイことの類似のサンプルは豊富にあるし。

53:名無しさん@お腹いっぱい。
09/03/20 01:44:56 DsntF0Wn0
ちんぷんかんぷんなら本買った方がいいかもしれないよ

54:名無しさん@お腹いっぱい。
09/03/20 20:43:31 2bPMwjVn0
>>52
まぁ、、もともとの下地の量にも依るんだと思うよ。
ワードくらいでエクセルは家計簿しかつけたことがないとかだとヘルプは見ても分からない…

55:名無しさん@お腹いっぱい。
09/03/21 18:57:36 0gCxJ8aB0
確かに、命令文を書いてそれを実行させるということをしたことがない人間には訳が分からないかもしれない。
CでもVBでも何でもいいが、まずはマニュアル本の手順通りやってみて体験することは重要だと思う。

56:名無しさん@お腹いっぱい。
09/03/21 20:04:15 RJeHjNlr0
>>54
そりゃそうだ。
Excelやったことあります。程度の人に
いきなりVBAマクロ作れっていうようなもんだからな。

それなりに敷居が高いのはしょうがない

57:横レス
09/03/21 21:23:13 bilBjxKS0
>>56
スクリプト系なら余計な前提知識がないほうがかえってはやそう

by 文字型と数値型どこ?だの実行効率どうとかコードの再利用だの今思うとどーでもいいことに迷ってた漏れ

58:名無しさん@お腹いっぱい。
09/03/22 01:14:19 Sv/Mv62F0
>>56
Excelのマクロを触ったことさえあれば、VBSに行くよりは敷居低いような…
で、これからcom経由で間借りするのは比較的楽だったり…

59:名無しさん@お腹いっぱい。
09/03/22 20:51:42 t0gd/KIy0
>>57
コードをそのまま再利用しようなんてのは普通のプログラム言語にまかせて
違った利用方法には断片から再構成するのがスクリプト方式なんだよね

60:名無しさん@お腹いっぱい。
09/03/23 19:29:22 Cm/UBSMR0
>>59
めんどくさく書いたのに結局使いまわせなくて無意味だったりするんだよね

だったら割り切って簡単さ優先のほうがいい
なら構造化までで十分だしオブジェクト指向以降は邪魔なだけ

61:名無しさん@お腹いっぱい。
09/03/25 18:56:29 uoklUH0P0
質問です。IEtoExcel.uwsなんですけど
body = Copy(body, 1, Pos("</TBODY>",body)) // 取得終了位置
なぜこれで取得終了位置が決定できるのですか?

1文字目からPos("</TBODY>",body)文字目までってのがよくわからないのですが

62:名無しさん@お腹いっぱい。
09/03/25 22:11:18 VLYJF0HH0
>>61
そこだけ抜き出ても誰も即答できんよ…

body = IEGetSrc(IE, "BODY")
print body
body = Copy(body, Pos("<SMALL>日付</SMALL>",body), 999999) // 取得開始位置
print body
body = Copy(body, 1, Pos("</TBODY>",body)) // 取得終了位置
print body

とログ取ってみれば理解できると思うけど?(自分ではやってみていないがw)

63:名無しさん@お腹いっぱい。
09/03/25 22:18:25 ykXGJViE0
>>61
Copyって関数とPosって関数の二つを使っているんだよ

■Copy
コピー結果文字=Copy(コピー前文字, 開始位置, 終了位置)

コピー前文字="ABCDE"
開始位置=2
終了位置=3
コピー結果文字="BC"


■Pos
位置を表す数=Pos(検索文字, 検索元の文字)

検索元の文字="ABCDE"
検索文字="D"
位置を表す数=4


つまり、bodyって変数の中にIEで取得したページの
<TBODY>~</TBODY>の<TBODY>以降「~</TBODY>」が
入ってるから、末尾の</TBODY>までの「~」部分を
取り出している

64:名無しさん@お腹いっぱい。
09/03/27 10:31:09 AcxgdDaV0
Pro版でexe化したらAlt+F2で停止しなくなったんだけどこれ何?

65:名無しさん@お腹いっぱい。
09/03/27 18:02:15 GuzBvoGh0
当たり前です。


66:名無しさん@お腹いっぱい。
09/03/27 19:12:27 lMvlwR450
特定のボタン押したときに停止する命令入れない人って…

67:名無しさん@お腹いっぱい。
09/03/27 19:46:58 dvwsWJKV0
全くのUWSC初心者なのですが、初めから丁寧に説明してくれてるサイトとかありますか?
自分でスクリプト作ってみたいと思ってます。

68:名無しさん@お腹いっぱい。
09/03/27 20:12:35 fVsO9M+W0
IEGETDATA/IESETDATAって対象フレーム指定できる?

frameはやっぱりDocumentプロパティからがりがりいじるしかないの?

69:名無しさん@お腹いっぱい。
09/03/27 20:33:28 fVsO9M+W0
>>67
漏れ中級者(66みたいにわからないことはあり)ですけど
uwscは仕様もヘルプも人間に優しいので
ヘルプのスクリプト→スクリプト関数→ウインドウ関連→GETIDの最後の「例)」のリンク先に
サンプルが大量にあるのを写して実行させればよいのでは?
あとはトライ&エラーで大丈夫かと

70:名無しさん@お腹いっぱい。
09/03/27 20:50:01 dvwsWJKV0
>>69
レスありがとうございます。
一通り目を通してみますね。

71:名無しさん@お腹いっぱい。
09/03/28 00:39:06 CJN0OekI0
ページの表示待ちで質問があります。

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("http://○○○○○")
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate=4

これがページの表示が終わるまでは待つスクリプトだと思うのですが
○○○○○の箇所が毎回ランダムに変わる場合
どのようにスクリプトを組めばいいのかわかりません。

数種類のアドレスだけなら○○○○○の場所に数種類分のアドレスを入れればいいのですが
ランダム英数字なので、自作のスクリプトに、上のスクリプトを追加してたらキリがないのです。
○○○○○の場所が変わってもアクティブなIEウィンドウの表示待ちをしてくれる便利なスクリプトは無いものでしょうか?

説明が下手で申し訳ありません。










72:名無しさん@お腹いっぱい。
09/03/28 01:08:30 imhwk0EW0
>>71
>UNTIL !IE.busy AND IE.readystate=4
ページ表示の完了を待つ部分はここだけ。

ランダムなURLを自動取得する部分を書かないと、同じことだけどな。

73:名無しさん@お腹いっぱい。
09/03/30 14:11:23 bJqod+xu0
IEの画像表示を切っているときでも、特定の画像だけ表示することはどうやれば実現できますか?
手動のIEだとコンテキストメニューで画像の表示をやればできますが、それを直接やる方法など。

74:名無しさん@お腹いっぱい。
09/03/31 03:16:16 uj3sv1g20
2009/03/31 UWSC Ver4.5a、 Pro版と Free版をリリースしました。

75:名無しさん@お腹いっぱい。
09/03/31 10:32:20 gAjYRmVT0
DLLに配列が使えるようになったみたいだね

76:名無しさん@お腹いっぱい。
09/04/01 19:38:02 ORgiq0uE0
FOPEN("○○.○",F_READ or F_WRITE)でappendオープンとほぼ同等になるのか・・・
(前の部分も書き換えようと思えばできるから厳密に同じじゃないけど)

素直にF_APPENDフラグつけてほしい

77:名無しさん@お腹いっぱい。
09/04/01 20:22:58 LeFjj7N90
なんでorなんだろうな…そこはandだろ…

78:名無しさん@お腹いっぱい。
09/04/02 01:27:10 /AIiEOlh0
ぜんぜん

79:名無しさん@お腹いっぱい。
09/04/04 21:44:58 /d+v7qoR0
IPアドレスをワンクリックで変えるために下記のスクリプトを書きましたが、ページの読
み込み完了まで待ってくれなくてどうもうまくいきません。どこが悪いのでしょうか?


//CREATEOLEOBJで生成
IE = CREATEOLEOBJ("InternetExplorer.Application")
//IE可視化
IE.visible = True
//URLジャンプ
IE.navigate("URLリンク(ctu.fletsnet.com)")
//ロード完了まで待つ
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate = 4

id = GETID("CTU設定 - Windows Internet Explorer", "IEFrame", -1)

CLKITEM(id, "ログイン", CLK_ACC)

//ロード完了まで待つ
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate = 4

CLKITEM(id, "切断", CLK_ACC)

//ロード完了まで待つ
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate = 4

CLKITEM(id, "接続", CLK_ACC)

80:79
09/04/04 21:49:47 /d+v7qoR0
すみませんUWSC掲示板というものを見つけたので、そちらにも書かせていただきました

81:名無しさん@お腹いっぱい。
09/04/04 22:31:42 5o+P8JM70
>>79スクリプト自体は別におかしくない
サイトの作りでIE.busyとIE.readystateがうまく遷移しないんじゃない?
テキトーにSLEEP(5)してみるとか

82:79
09/04/05 01:07:09 506pPYQi0
>>81
UWSC掲示板にて有志の方に下記の記述を教えていただきまして、
実行したところまったく問題なく稼動するようになりました。

おそらくSLEEPでもうまくいくと思います。ありがとうございました。

WHILE !IE.busy AND IE.readystate = 4; sleep(0.05); WEND
REPEAT; SLEEP(0.1); UNTIL !IE.busy AND IE.readystate = 4

83:名無しさん@お腹いっぱい。
09/04/08 04:14:05 /k0QiX7S0
申し訳ないのですが質問させてください
あるネットゲームで左クリックだけをおよそ10秒ごとにクリックさせておきたいのですが
それ自体はできたのですが、これをウィンドウをアクティブにしない状態(いわゆる裏マクロ)でずっと動作させておくにはどうしたらいいでしょうか?

ACW(GETID("ネットゲーム名","SFMainWindow"),0,0,1686,1077,0)
while TRUE
BTN(LEFT,CLICK,)
sleep(10.6+random(0))
wend

ACWが原因なのはわかったのですが、単純にそこを消せばいいだけという事は無いみたいで困っています、どうか宜しくお願いします

84:名無しさん@お腹いっぱい。
09/04/08 04:55:25 fwJAXoMx0
>>83
無理。
普通のWindowsアプリなら別の方法で裏で操作できるけど、
キー・マウス必須なゲームではそういうことはできない。
WindowsAPIでならやれなくもないかもしれないけど低レベルな操作ができるやつじゃないと無理。

URLリンク(scripts.web.fc2.com)
こんな感じで仮想マシンでゲームを動かし、その中でマクロすればずっと裏で動作する。
そのページで紹介してるのはホストからゲストを操作するやつで裏で動作するわけじゃないけど。
ちなみに、今のVMware Workstation6.5なら3D使うのは設定画面でチェック入れるだけ。

でも仮想はやっぱりグラフィックが重いから、少々非力でも別のパソコン用意したほうがいいけどね。


85:名無しさん@お腹いっぱい。
09/04/08 05:15:36 /k0QiX7S0
>84
三国志オンラインというネットゲーですと下のような感じで裏マクロにさせておく事ができたのですが
コレの応用とかでなんとかできないのでしょうか?

77 :ネトゲ廃人@名無し[sage]:2008/03/30(日) 02:26:21 ID:???
ググってもヘルプ見てもわからない人用
裏マクロサンプル

wnd_id = GETID("ここに実行させたいウィンドウ名") //ウィンドウ名の一部でもOK
ifb wnd_id = -1 then
MSGBOX("MMO名が起動していません")
exitexit
endif
MOUSEORG(wnd_id, 2)
while TRUE
Kbd(VK_8,CLICK,3) //定期的に実行したいキーの指定、この場合8を押す。
sleep(36+random(15)) //ここの数字を変えると待機時間を変更できる。現在は36秒+15秒までランダム
wend


86:名無しさん@お腹いっぱい。
09/04/08 05:44:52 fwJAXoMx0
>>85
アプリケーションに直接送るには対応してないのが多いんだよね。
多分DirectInputとかいうのつかってるやつには使えないんだと思う。
知らないけど。


87:名無しさん@お腹いっぱい。
09/04/10 10:46:50 PbtivxSj0
マクロ実行中に、キー操作などで、マクロを強制的にとめることは出来ますか?


88:名無しさん@お腹いっぱい。
09/04/10 13:23:35 BPKFh7I00
>>87
それくらいはヘルプ読んでくれ

89:名無しさん@お腹いっぱい。
09/04/13 11:05:31 wzr692Rz0
IEをタブブラウザとして使用していて、指定の複数のページを開くようにしたいのですが、
以下(次のレス)の記述だと、アドレス欄にアドレスを貼り付けるのに失敗して、空白タブのままになる場合がたまにあります。
新しいタブを開いてからアドレス欄にアドレスを貼り付けるまでのウェイト(28行目)を長くしても同じでした。

どのように記述すればそういった問題なくIEで複数のページが開けるでしょうか?
一番いいのは、シーケンス的な処理なしにIEにアドレス渡すだけってやり方なんですが……。

IEの「タブ ブラウズの設定」は以下のようにしてます。
・「タブ ブラウズを有効にする」にチェック。
・「新しいタブの作成時には常に新しいタブへ移動する」にチェック。
・「クイック タブを有効にする」にチェック。
・「現在のタブの隣に新しいタブを開く」にチェック。

90:名無しさん@お腹いっぱい。
09/04/13 11:06:21 wzr692Rz0
// IEの宣言(?)
Ie = CREATEOLEOBJ( "InternetExplorer.Application")
Ie.visible = TRUE

// IEを起動する
Ie.navigate( "URLリンク(www.yahoo.co.jp)")

// IEのウィンドウIDを取得
IeId = GETID( "Internet Explorer")

// IEのウィンドウを最大化する
CTRLWIN( IeId, MAX)
SLEEP( 1)

// マウスカーソル退避
MMV( 1, 1)
SLEEP( 1)

DIM Address[3]
Address[1] = "URLリンク(www.infoseek.co.jp)"
Address[2] = "URLリンク(www.google.co.jp)"
Address[3] = "URLリンク(www.goo.ne.jp)"


91:名無しさん@お腹いっぱい。
09/04/13 11:08:39 wzr692Rz0
FOR i = 1 TO 3

    // 新しいタブを開く
    SCKEY( IeId, VK_CONTROL, VK_T)
    SLEEP( 3)

    SENDSTR( IeId, Address[i], 2, TRUE, TRUE)
    SLEEP( 1)
    SCKEY( IeId, VK_RETURN)
    Ie_Wait( IeId)
NEXT

PROCEDURE Ie_Wait( Id)
    i = 0
    j = 0
    REPEAT
        SLEEP( 1)
        IFB GETSTR( Id, 1, STR_STATUS) = "ページが表示されました"
            i = i + 1
        ELSE
            i = 0
        ENDIF
        j = j + 1
    UNTIL ( i >= 3) OR ( j >= 20)
FEND

92:名無しさん@お腹いっぱい。
09/04/14 00:17:40 TCCc8Omk0
>Ie = CREATEOLEOBJ( "InternetExplorer.Application")
↑これには時間がかかるが、起動完了を待ってない。が、待つ必要もない。

>Ie.navigate( "URLリンク(www.yahoo.co.jp)")
↑これにも時間がかかるが、待ってない。
SLEEP()があるにはあるが、効果がまちまち

> DIM Address[3]
> Address[1] = "URLリンク(www.infoseek.co.jp)"
配列を1から使っているが、UWSCの配列はこの場合0から3まで
まあ
>FOR i = 1 TO 3
0を飛ばして使ってるから問題はない

>どのように記述すればそういった問題なくIEで複数のページが開けるでしょうか?
SENDSTR() + SCKEY() でのページ移動をやめて
Ie.navigate( "URLリンク(www.yahoo.co.jp)") を使えばいい。
ほぼ確実にできるようになる。

うまくいかない原因は多分 Ie_Wait( IeId)
IEの操作ではよくある質問だけど、Navigateのあと待ちループをスルーすることがある。
キーEnter直後にはまだ前回の表示完了のメッセージが残ってるとか。
アドレスを入れる前にこのメッセージを消しておけば素通りはしなくなる。


93:名無しさん@お腹いっぱい。
09/04/14 08:53:44 i3CXPBbq0
ie上のFLASHでログインから作りこまれているサイトを操作したいのですが
ヘルプと多少のググリではヒントが得られませんでした。
ご存知の型いらっしゃいましたらひんとぷりーずです

94:名無しさん@お腹いっぱい。
09/04/14 09:23:50 /l9xSbch0
>>93
シェアウェア版のuwscにflash操作のサンプルスクリプト付いてるから見てみるといいよ

95:名無しさん@お腹いっぱい。
09/04/14 11:04:54 i3CXPBbq0
>>94
速レス多謝れす

96:名無しさん@お腹いっぱい。
09/04/14 19:18:25 msqZMedl0
アクティブウインドウ内の相対座標で操作したいのですがうまくいきません。
それ用のコマンドでもありますか?

97:名無しさん@お腹いっぱい。
09/04/14 20:01:48 QZ5xehbb0
STOPFORM(FALSE)でストップ窓出さないスクリプト実行中に
他のスクリプト多重起動できる?



-------
しかしかゆいところに手が届く言語仕様は本当に癒されるなぁ
わざわざ家で他言語のわけわかんない仕様と格闘したくないっちゅーねん

98:名無しさん@お腹いっぱい。
09/04/14 20:31:54 /l9xSbch0
>>96
mouseorg

99:名無しさん@お腹いっぱい。
09/04/14 20:35:32 mW/kK8aF0
>>97
<UWSC.INI>
NotMultiplex = スクリプト実行の多重起動を制限します (ファイルの関連付等からの実行)
0:制限なし、 1:一つのみ、 2:二つまで (数はUWSC本体も含む)
-9:制限なし、 -1:一つのみ、 -2:二つまで (マイナス値を付けた場合には '多重起動禁止'のダイアログは出ません)


100:名無しさん@お腹いっぱい。
09/04/14 20:48:45 msqZMedl0
>>98
アリガトー

101:89
09/04/14 20:52:08 jYCCUEGB0
>>92
回答ありがとうございます。

> Ie.navigate( "URLリンク(www.yahoo.co.jp)") を使えばいい。
> ほぼ確実にできるようになる。

これを単純に使用した場合、一番左のタブに指令が行くようなので
1番目のタブにyahoo
2番目のタブにinfoseek
……
といったことができませんでした。

> アドレスを入れる前にこのメッセージを消しておけば素通りはしなくなる。

消せるのですか。
調べてみますが、また分からなかったら教えてください。

102:名無しさん@お腹いっぱい。
09/04/15 05:34:31 qgyfHlhE0
>>99うん
ずっとUWSC.INIにNotMultiplex = 0あったはずなのに多重起動できなかったから謎だった
今STOPFORM(TRUE)入りのスクリプト一回実行したら
STOPFORM(FALSE)でストップ窓出さないスクリプト実行中にもちゃんと多重起動できるようになった
一体なんだったんだろう

103:名無しさん@お腹いっぱい。
09/04/15 06:02:54 HthVxZ2l0
>>101
新しいタブで開くならIE.navigate2の第2引数に次のどれかを指定すればいいらしい。
VBでは&H800だけど、UWSCでは$800と指定することに注意。
Const navOpenInNewTab = &H800
Const navOpenInBackgroundTab = &H1000
URLリンク(www.happy2-island.com)

英語なので分からないけど
Get Active Tab in IE7
URLリンク(social.msdn.microsoft.com)

UWSC掲示板でIE7の話題
URLリンク(www.google.co.jp)


どうしても既存のタブに開きたいのなら、
キー送信でタブを切り替えつつ、タブごとにGetActiveOLEObj()を実行して
それぞれのIEオブジェクトを取得すればいい。(多分できるんじゃないかな)
IE1~IE10のオブジェクトがあれば、たとえばIE5.navigate()で5つめのタブで開くとかできるでしょ。

IEオブジェクトは配列にすればスマートに書ける
dim IE[10]
IE[cnt] = GetActiveOLEObj()
IE[cnt].navigate()


104:名無しさん@お腹いっぱい。
09/04/17 09:08:00 3eWeWjWG0
同じIDの2つのウインドウに対してそれぞれ命令文実行するのはどうしたらいいんでしょう?

105:名無しさん@お腹いっぱい。
09/04/17 09:16:25 vJUVWnem0
ウィンドウ違ったらIDも違うだろ

106:名無しさん@お腹いっぱい。
09/04/17 09:40:53 3eWeWjWG0
GETIDしてもクラス名とか同じなんす・・・どこか見分ける方法あるんでしょうか?

107:名無しさん@お腹いっぱい。
09/04/17 10:19:36 7iQc6sCf0
だからIDだろ…おまえは何を言ってるんだ

108:名無しさん@お腹いっぱい。
09/04/17 11:06:27 3eWeWjWG0
自分でも何が言いたいのかよくわからなくなりました・・・

109:名無しさん@お腹いっぱい。
09/04/17 11:27:01 z2t7NbQ10
GETIDを使いたくてもウィンドウ名とかクラス名が同じだから取得できないってことじゃないの

110:横レス
09/04/17 16:01:13 oV5BKBHw0
>>108
109だとしたら
GETALLWIN( )で全ウィンドウのIDを読んでから必要なものだけ残す方向で

111:名無しさん@お腹いっぱい。
09/04/17 19:51:44 dPRHXoSq0
>>106
見分ける方法は表示されてるテキストとかボタンとかだな。


112:名無しさん@お腹いっぱい。
09/04/18 21:40:19 XXPYfPCL0
初心者の質問ですいませんがご教授ください。
[YES][NO]のメッセージボックスを順番に3つ出し、YESが2つ出た時点で
"YESが2つ貯まったよ"というメッセージボックスを出しOKボタンでUWSを
終わらせたいのですが、どうもうまく文が書けません。

以下のように書いてみたのですが[関数が正しく閉じていません]となって
しまいます。お願いします。

POINT = 0
IF MSGBOX("チェック1OK?",BTN_YES or BTN_NO) = BTN_YES then POINT = POINT + 1

IF MSGBOX("チェック2OK?",BTN_YES or BTN_NO) = BTN_YES then POINT = POINT + 1
IF POINT = 2 THEN MSGBOX("YESが2つ貯まったよ") AND EXITEXIT

IF MSGBOX("チェック3OK?",BTN_YES or BTN_NO) = BTN_YES then POINT = POINT + 1
IF POINT = 2 THEN MSGBOX("YESが2つ貯まったよ") AND EXITEXIT

113:名無しさん@お腹いっぱい。
09/04/18 21:42:10 RzsxB0wk0
マルチステートメントをANDでつないでる人なんて初めて見たわ。
IFBにして行分けなきゃ駄目に決まってるじゃん

114:名無しさん@お腹いっぱい。
09/04/18 21:53:58 wfTm4mrd0
これはひどい

115:名無しさん@お腹いっぱい。
09/04/18 21:55:44 XXPYfPCL0
>>113
ありがとうございました。
解決しました。

116:104
09/04/19 11:33:06 cQ6R7vH10
根本から勘違いしてるのかもしれないので質問させてください。

たとえば、新規に開いたメモ帳2窓だとGETALLWIN( )しても
ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね?

117:名無しさん@お腹いっぱい。
09/04/19 11:45:06 yPMpTKOZ0
>>116
>>105
同じIDのウインドウなんてありません。

118:名無しさん@お腹いっぱい。
09/04/19 11:45:06 kETpq9Eh0
いやだからウィンドウIDは違うよ

119:名無しさん@お腹いっぱい。
09/04/19 11:57:47 8Ti6dx9WP
>>116
手動で二つのウィンドウを区別する場合、あなたはどう判断しているの?
左右に並べて右側のウィンドウが知りたいならSTATUS関数を使って座標を比較すればいいんだし

あなたは何をしたいんですか?

120:名無しさん@お腹いっぱい。
09/04/19 12:03:17 yPMpTKOZ0
>>116
もう一つ言うと、
> ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね?
ウインドウIDとクラス名と言ってるけど
「notepad」は、確かにクラス名だけど
「無題 - メモ帳」は、ウインドウIDじゃない。タイトルです

あなたが言ってるのは、同姓同名で生年月日まで一緒の別人をどうやって区別するんですか?
しかもその二人は、免許証番号や電話番号まで一緒なんです。って言ってるようなものです。


121:名無しさん@お腹いっぱい。
09/04/19 14:08:17 Me2htpU20
>>120
いや、同姓同名の同住所でも免許証番号とかは違うから。
一人二役でない限りは。

>>116
うん。だから区別できないよ。
だから自分でExecとかCreateOLEObjして自分用のを作るんだよ。


122:名無しさん@お腹いっぱい。
09/04/19 15:40:48 8Ti6dx9WP
えーそうかな?
単に「タイトル」「クラス名」「ID」の意味が分かってないだけだと思う。でないと
>ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね?
が全く説明つかない。
俺の解釈は以下の通り。

//2個未保存のメモ帳があって、それぞれ「AAAA」「BBBB」と入力されている想定

//104時点での考え
IDその1 = GETID("無題 - メモ帳", "notepad")//「AAAA」側のIDを取得したい
IDその2 = GETID("無題 - メモ帳", "notepad")//「BBBB」側のIDを取得したい
if IDその1 = IDその2 then MSGBOX("同じID") // だから104で「同じID」と言ってる

//109-110の重要キーワード「GETALLWIN」を聞いた116時点での考え
IDその1 = GETID("無題 - メモ帳", "notepad")//「AAAA」側のIDを取得したい
GETALLWIN() //これを使えば同名、同クラスの別IDを参照できると勘違い
IDその2 = GETID("無題 - メモ帳", "notepad")//「BBBB」側のIDを取得したい
if IDその1 = IDその2 then MSGBOX("同じID") // だから116で「GETALLWIN( )しても」と言ってる

//109-110が言ってた「GETALLWIN」の使い方
ウィンドウ数 = GETALLWIN()
FOR I=1 TO ウィンドウ数
  IFB STATUS(ALL_WIN_ID[I-1], ST_TITLE) = "無題 - メモ帳" THEN
    MSGBOX(GETSTR(ALL_WIN_ID[I-1], 1)) //「AAAA」「BBBB」が表示されるはず
  ENDIF
NEXT

123:名無しさん@お腹いっぱい。
09/04/19 22:15:44 yPMpTKOZ0
>>121
だから、別人という前提が間違ってる。勘違いだと言ってるんでしょ
ユニークに割り当てられているはずのものが同じならそれは別なものじゃなくて同じものなんだから

124:名無しさん@お腹いっぱい。
09/04/20 03:19:17 EnXtAM1m0
>>123

>>116が言ってるのは別人という前提なんです。
>新規に開いたメモ帳2窓
これはメニューからメモ帳を2回クリックして2つ起動し、ウィンドウが2つある状態ということですよ。

2窓について
URLリンク(detail.chiebukuro.yahoo.co.jp)

それぞれちょっとずれたことを言ってますね。
IDは確かに一つの窓に一つで識別できるけど、
ID以外の方法で区別するのは難しいですよね。

>>104はIDとは何なのか分かってないので、IDと言ってるのは無視して考えないと。

メモ帳のステータス置いときます。
ID      57
PARENT  -1
PROCESS 5868
Handle   9635392
ICON    0
VISIBLE  1
ACTIVE   0
BUSY    0
TITLE    無題 - メモ帳
CLASS   Notepad


125:名無しさん@お腹いっぱい。
09/04/20 08:20:00 cLKDMuVI0
>>123は端折りすぎだけど、
同じ免許書番号の別人がいないように
同じウインドウIDの別ウインドウなんて存在しないんだから
その前提が間違ってるってことだろ。

別ウインドウかどうかなんて画面で一目瞭然なんだから
IDが同じってのが間違ってるってことは確定的に明らか

126:名無しさん@お腹いっぱい。
09/04/20 09:05:26 lfFRPe8i0
使い始めたのですがどうしても判らない点があるので教えて下さい。
WEB上でsubmitのボタンがdisabledを使用していて、一旦押すと
しばらく表記文字がグレーになって押せません。
このenable/disableの状態を取得する方法はありませんでしょうか?
宜しくお願いします。


127:名無しさん@お腹いっぱい。
09/04/20 10:01:29 EnXtAM1m0
>>126
状態 = IE.document.all.ボタン名.disabled


HTAていうの使いはじめてみたんだけど、これいいよ。
MS Office PremiumにMicrosoft Development Environment(MSE.EXE)てのがついてて、
HTMLコントロールのプロパティとかの一覧が出てくる。
最近の開発環境なら当たり前だけど、僕が持ってるのOffice2000だからそーとー前のなんだけど。
場所は"C:\Program Files\Microsoft Visual Studio\Common\IDE\IDE98\MSE.EXE"
・・・あれ?Officeの付録じゃなかったっけな・・・
WindowsのSystemフォルダと日時が同じだからXP Homeについてるのかな?

あ、これ使う場合のファイルはHTMLファイルで、
CreateObjectする場合は別にプロパティ一覧とか出てこないけど。


128:89
09/04/20 14:54:07 AwZv06Kt0
>>103
遅レスですが、以下で新しいタブで開きました。ありがとうございました。

Ie.navigate( Address, $800)

129:127
09/04/21 10:48:50 CPJxMALFO
UWSCは当初ゲームの自動操縦のために使い始めたんだけど、
今はIEを操作することが多いんですよね。
IEの操縦ならHTAでっていうかHTML+VBScriptにすると、画面も使えちゃって便利です。
HTMLのスクリプトならJavaScriptじゃないとって思ってたけど、
UWSCでBasic系の記述に慣れてるのと、HTAで使うのはJavaScriptじゃなくてJScriptなので、
どうせならVBScriptを使ってWeb用とHTA用をはっきり分けたほうがいいかなということで
VBScriptで行きました。
HTAで作ったツールの第一号をうpってるんで使ってみてください。
ていうかできればコレをダウンロードして、規制されてる僕たちのために代行やってください。
URLリンク(karimofu.org)
標準ZIP DLパス:siberia

130:名無しさん@お腹いっぱい。
09/04/21 12:15:22 zWBQpk48P
>>129
どう見てもウィルスです
本当にありがとうございました

カスペルスキーインターネットセキュリティ
2009
アクセスが遮断されました
入力したURLのWebページを表示できません

入力したURL:
URLリンク(karimofu.org)
21be/mofu1_6055.zip

このWebページはウイルスに感染しています

次のウイルスが見つかりました:Trojan-Downloader.JS.gen


この情報が正しくないと考えられるときは、ご利用のサービスプロバイダーにご連絡ください
情報:
Tue Apr 21 12:14:05 2009
カスペルスキーインターネットセキュリティ 2009

131:名無しさん@お腹いっぱい。
09/04/21 13:33:41 CPJxMALFO
>>130
あなたのパソコンがウィルスに感染してるか、うp炉だ自体がウィルスだと判定されているんだと思います。
そもそもZip圧縮されたものがウィルスとして活動できるわけないでしょう。偽装ならともかく。
AVG ClamWin Eset eTrust McAfee MicroWorld Norman Sunbelt VirusBuster の4・20の最新パターンで検索して一つも引っかかりませんでしたよ。

URLリンク(www.filterbit.com)
郵便補助ツール007.zip uploaded on 2009-04-21 04:13:23 AM UTC
Scan Completed in 172 ms.
Final Result NO VIRUSES DETECTED

郵便補助.hta uploaded on 2009-04-21 04:14:45 AM UTC
Scan Completed in 6.344 secs.
Final Result NO VIRUSES DETECTED

sleep.vbs uploaded on 2009-04-21 04:15:21 AM UTC
Scan Completed in 6.234 secs.
Final Result NO VIRUSES DETECTED

同じものを別のとこに置いたから、こっち↓からのダウンロードを試してみてください。
URLリンク(scripts.web.fc2.com)

132:名無しさん@お腹いっぱい。
09/04/21 13:44:41 ghaE4/Ws0
>>ID:CPJxMALFO
DLする気になれないからウィルスかどうかは判らんが、HTAとJScriptの話題を続けるなら

他所でやってくれ。

133:名無しさん@お腹いっぱい。
09/04/21 14:00:12 KISr4rZl0
>>131
帰れカスが

134:名無しさん@お腹いっぱい。
09/04/21 14:25:54 zWBQpk48P
URLリンク(www.virustotal.com)
にて>>129>>131をチェックしました。
結果は以下の通りです。
URLリンク(www.virustotal.com)

皆さん注意してください。
>>131が言っているのは全くの嘘、詐欺、デタラメです。
最近のウィルス対策ソフトは圧縮データをバックグラウンドで自動で解凍し、
中身に問題のあるファイルが含まれているかをチェックしています。
圧縮されている「郵便補助.hta」というファイルはウィルスです。

まだ対策が始まったばかりで未対応のウィルス対策ソフトもあります。
既に実行された方は
URLリンク(www.kaspersky.co.jp)
にてウィルスがどこにあるかを調査し、手動で削除する必要があります。
(無料のため自動では削除されません)

皆様、くれぐれも実行などせぬように注意願います。

135:名無しさん@お腹いっぱい。
09/04/21 15:44:40 hCW2ez470
Trojan-Downloader.JS.gen でも何でもないけど
HTTP_GETしてるスクリプトは誤判定されるんだろうな
どっちにしろスレ違いだし、もうあきらめなー

136:名無しさん@お腹いっぱい。
09/04/21 17:20:34 EjoW6ZpV0
落として検査してソース見たよ



137:名無しさん@お腹いっぱい。
09/04/21 19:21:07 hCW2ez470
俺も見たよ 問題ないだろ
関数GetTextByURLだけ抜き出して>>134でチェックすると引っかかる
F-SecureとかKasperskyはあまりアテにならんってことだな

138:名無しさん@お腹いっぱい。
09/04/21 23:19:31 KISr4rZl0
問題ないとかじゃなくてスレ違いだっつの

139:名無しさん@お腹いっぱい。
09/04/22 17:32:54 N45Vs4AF0
初心者です
座標(X,Y)の色が黒で無いという文を作りたいです
PEEKCOLOR(X,Y)= $181818

否定の ! はどのようにつければいいのでしょうか
試行錯誤してみましたが機能しませんでした

140:名無しさん@お腹いっぱい。
09/04/22 19:50:11 5189R7q50
<>

141:名無しさん@お腹いっぱい。
09/04/22 21:33:39 5EWcb3vi0
思うんだが181818だけが黒じゃないよね?

142:名無しさん@お腹いっぱい。
09/04/22 21:37:39 GhDeitu20
>>139
!(PEEKCOLOR(X,Y) = $181818)

143:名無しさん@お腹いっぱい。
09/04/23 00:06:35 kwl9x0DH0
>>142さん
ありがとうございます
機能しました

144:シベリアよりのお手紙
09/04/23 13:39:24 VMVPYLE80
■ブラウザで掲示板に書き込む操作【送信ボタンクリック編】
初心者に簡単なほうから順に
※IDやIEは適切に取得している前提

(1) ClkItem(ID, "書き込む", CLK_ACC)
(2) IELink(IE, "書き込む")
(3) IELink(IE, "", 1)
(4) IE.document.all.[アイテム名].click()
(5) IE.document.[フォーム名].submit()

(1),(2)は表示されているボタン名を指定してクリックする方法で、簡単です。
アイテム名、フォーム名はWebページのソースを見て確認する必要があります。
「name=」や「ID=」で名前がつけられてないときは、forms[0]やitems[0]などと指定します。

【解説】
また、ボタン名は「submitです」
(1) ClkItem()はローカルアプリケーションの操作用ですが、CLK_ACCを指定するとWebページの操作も可能になります。
(2)と(3) IELink()は、<a>タグによるリンクをクリックするものです。
  標準以外のボタンやテキストリンクの場合に使えます。
(2)テキストで書かれたリンクの場合の書き方です。
(3)画像リンクの場合の書き方です。”ログイン”などと表記されていても、画像が埋め込まれている場合はこちらを使います。
(4)と(5) DOM(Document Object Model)と呼ばれるアクセス方法です。
2ちゃんねるでは(5)については動きません。ボタン名がかぶっているからかも。

145:名無しさん@お腹いっぱい。
09/04/23 14:11:23 ToP+iXmu0
どうも配列変数が巨大(x{1000]とか)なスクリプトがあるとUWSC関係のいろいろに影響するっぽい
起動オプションでUWSC用メモリ確保量指定できるといいんだけど

146:名無しさん@お腹いっぱい。
09/04/23 14:34:53 hbhpeBX00
大昔のPCとビデオキャプチャカード(予約録画機能なし)+UWSCで録画専用PCを作成してみた。

rec.uws 番組タイトル 分数
をuwscのタイマーにセットし、(タイマーは40個分あるので充分)
rec.uwsは時間になるとchkbmpで録画ボタンを押し、分数で与えた時間が経過すると停止ボタンを押す。

終わったらmpgデータを、
録画済みフォルダにタイトル+数字.mpgが既にあれば、
タイトル+(数字+1).mpgにリネーム、なければタイトル001.mpgにリネーム
リネームしたmpgを録画済みフォルダに移動する。

そのうち、
録画しない空き時間にmpgをMediaCoderでaviに自動変換して入れ替えていく機能も追加しようと思う。

四、五万もだせば最新・高機能のHDDレコが買えるのだから、こんなもの作って喜んでいるのは貧乏人の証明以外何物でもないのだが。
手間はほんの数時間だからいいんだよ!


147:名無しさん@お腹いっぱい。
09/04/27 17:00:06 IAlYDpEu0
URLリンク(siromasa.xxxxxxxx.jp) ←ここのzip解凍を参考に
Dim FilePath_Lha
Dim DirPath

FilePath_Lha=PARAM_STR[0]
DirPath=PARAM_STR[1]
UnLHA32(FilePath_lha, DirPath)

Function UnLha32(a_FilePath_Lha, a_DirPath, a_Command = "e", a_Option = "-y")
  a_DirPath = a_DirPath + Format(ChrB(0), 1)
  PathAddBackslashA(a_DirPath)
  Dim szCmdLine = a_Command + " " + a_Option + " " + DQ(a_FilePath_Lha) + DQ(a_DirPath)
  Dim t_Len = $1000
  Dim t_Buff = Format(ChrB(0), t_Len)
  UnLha(0, szCmdLine, t_Buff, t_Len)
  Result = t_Buff
FEnd

DEF_DLL UnLha(HWND, STRING, var STRING, DWORD) :INT :UNLHA32.DLL
DEF_DLL PathAddBackslashA(var String) :String :ShlwApi.DLL
Function DQ(a_Path)
  Result = "<#DBL>" + a_Path + "<#DBL> "
FEnd

とやってみましたが
「Not DLL Function:UnLha」
「20行目:UnLha(0, szCmdLine, t_Buff, t_Len)」と出て上手くいきません。
unlha32.dllはsystem32の中にありVBでは上手くいきます。
解決の糸口を教えてください。


148:名無しさん@お腹いっぱい。
09/04/27 19:14:42 QD9XwKZQP
>>147
DEF_DLLは、UWSCの関数と違って使う前に定義しないといけない。
ファイルの先頭に書いておけば間違いないと思う。


149:名無しさん@お腹いっぱい。
09/04/27 21:03:06 H7TyYdrJP
>>147
ヒント
大文字と小文字を区別して書く習慣をつけよう

150:名無しさん@お腹いっぱい。
09/04/27 23:58:18 ITcnKio80
>>148
>DEF_DLLは、UWSCの関数と違って使う前に定義しないといけない。

これ相当前に解消されてるハズ。
現に関数部の後にまとめてコピペしても動くし…。

>>149
関係ないような…

>>147
調べてないけど、
>DEF_DLL UnLha(HWND, STRING, var STRING, DWORD) :INT :UNLHA32.DLL
これ合ってる?

DEF_DLL UnZip(HWND, STRING, var STRING, DWORD) :INT :UNZIP32.DLL
を単純に真似しただけという理由なら駄目だと思うよ…
オイラが間違ってたらスマン。

151:名無しさん@お腹いっぱい。
09/04/28 00:05:16 UnYs7tqY0
>>147
DLL系は敷居が高いなぁ…と言ってしまうようなにわかスクリプターとは俺のこと。
今動かしてるのはこんな感じ。関数作るならその都度宣言してもいいんじゃないかなぁ。
…なんで宣言した引数より少なくて動くのかはしらね。逆に在ると動かないのに気づいたのは奇跡。

lha("c:\aaa\", "c:\aaa.lzh")
function lha(in, out)//入力はフォルダ専用
 DEF_DLL Unlha(Long, String, String, Long) :Long :UNLHA32.DLL
  dim hWnd
  in = "<#DBL>" + in + "<#DBL>"
  out = "<#DBL>" + out + "<#DBL>"
  commandline = "a -drn "+ out +" "+ in
  result = Unlha(hWnd, commandline)
fend

152:名無しさん@お腹いっぱい。
09/04/28 00:18:30 lagyuQtDP
>>151
それで動いてるんなら、戻り値がLongとすべきところをintにしてるのが問題っぽいね。


153:名無しさん@お腹いっぱい。
09/04/28 00:36:03 UnYs7tqY0
>>151
リザルトなんて取ってもfalseに成るだけだしなぁ。まだまだ詰めが甘過ぎるなぁ。


ところで、こちらからの質問なんだけど…
httpからのダウンロード時に URLDownloadToFileA を使っているわけだが
これを使うとスレッド動作じゃなければ、UWSCが無反応になってしまう。
…つーか専有するのはわかるけどな。UWSCでスレッドは制御しにくいから嫌なんだ。

かといって WinHttp.WinHttpRequest.5.1 等のものを使っても同じく専有して無反応。
外部にダウンロードに必要な取得cookieを渡す仕様は嫌なのでUWSCの中で完結したい。

なんかスレッドの良い処理方法は無いですかね。
…UWSCのスレッドは終了が判らないから同時ダウンロード数が弄り難いんだ。
  もう downloadBalancer とかの関数を作って、偶に抜けたりするのは勘弁だ…
…調べたり試したりするほどに無理な気がしてきたぜ。素直に別のEXE作ろうかなぁ…threadめ…

154:名無しさん@お腹いっぱい。
09/04/28 07:01:41 lagyuQtDP
>>153
こんな風にやればいんじゃね?知らないけど。

ThreadCnt = 0
for i = 0 to listcnt - 1
 ifb cnt <= 3 then
  thread downloadfile(URLList[i], FilePathList[i], ThreadCnt)
 endif
 sleep(1)
next

function downloadfile(URL, FilePath, var cnt)
 cnt = cnt + 1
 result = URLDownloadToFile(0, URL, FilePath, 0, 0)
 cnt = cnt - 1
fend


155:147
09/04/28 10:20:25 C7CacfK90
>>151 他レスを頂いた皆様ありがとうございます。
151氏のソースでさっくり動きましたのでパックリぱくらせていえ参考にさせて頂きました。m(._.)m



156:名無しさん@お腹いっぱい。
09/04/28 12:35:26 r3leceUUP
ちなみに>>147が動かなかった原因はここ。
>DEF_DLL UnLha(HWND, STRING, var STRING, DWORD) :INT :UNLHA32.DLL
関数名が間違っている。正しくはUnlhaね。

DLL関数自体は厳密に区別する。もともとC言語で生まれた概念だし。
だから関数が見つけられずに「Not DLL Function:UnLha」って言われているだけ。
大文字と小文字を区別して書く習慣をつけない限り間違い続けるよ。


157:147
09/04/28 13:02:54 C7CacfK90
>>156
おっしゃるとおり検証して確認いたしました。エラーは正確に正してくれていたのですね。
勉強になります。感謝です。


158:150
09/04/28 23:09:04 naDOL5i60
>>156 >>147
あぅ、気づかなかった…
スレ混乱させてスマンかった。反省。

159:名無しさん@お腹いっぱい。
09/05/04 20:11:23 W27H0amO0
任意の長文をテキストボックスに入力させる方法は?
アルファベット数文字だったら
KBD(VK_A,CLICK,40)
KBD(VK_H,CLICK,40)
KBD(VK_O,CLICK,40)
とかやっちゃうんだけど。
クリップボードを使うしかないのかな。
長文は固定じゃないから文章を入力したテキストファイルを複数用意しておいて
その内容をどうにかしてクリップボードに入れて
貼り付けって考えてるんだけど
どうかな?
もっとスマートなやりかたあるのかな。

160:名無しさん@お腹いっぱい。
09/05/04 20:20:44 6PozxKUv0
SENDSTR使えよw

161:名無しさん@お腹いっぱい。
09/05/04 20:30:09 VCE73Rq/0
おおおぅ!こんな関数があったとは!

162:名無しさん@お腹いっぱい。
09/05/04 20:48:25 i5Em8Ahd0
( ゚д゚) え? 使用頻度も多いし、CLKITEMなんかとともに関数の中ではまっ先に覚えるものだと思うんだが

163:名無しさん@お腹いっぱい。
09/05/04 21:05:57 jmZu6dcUP
だから初心者なんだろ?

164:名無しさん@お腹いっぱい。
09/05/04 21:25:47 /XePhOys0
>>162
すまん、目的が目的だったからchkimgとifbが先だった。

まぁ、用途によって覚えるモノは違うさ。
さて、俺もSENDSTR覚えたぞ。あとはhtmlソースから任意の文を抜き出す方法を理解してくる。

165:名無しさん@お腹いっぱい。
09/05/05 14:09:24 0o+yJk7+0
メモ帳が起動していなかったら、起動するってどうやって記述すればいいの?

166:名無しさん@お腹いっぱい。
09/05/05 14:28:20 xNlAE/wF0
ヘルプに書いてあったような。

167:名無しさん@お腹いっぱい。
09/05/05 17:32:47 7o1dfAoW0
ifb getid("メモ帳") < 0
  exec ("notepad")
endif
.
.
.
とか?
exec()は
NotepadID = exec("notepad")
とかやっとくと後から融通が利くと思う。

168:名無しさん@お腹いっぱい。
09/05/05 18:03:41 OvZysuYR0
メモ帳が起動してるケースで
 「NotepadIDが取得できずにエラーが出ました」
って質問が来たりして。

169:名無しさん@お腹いっぱい。
09/05/05 18:26:15 0o+yJk7+0
>>167
ありがとうございました。
1歩前進し出来ました。


>>168
初めて1時間。なんとなくわかってきました。

170:名無しさん@お腹いっぱい。
09/05/05 19:54:56 7o1dfAoW0
あとフルパスも使えたりする

171:名無しさん@お腹いっぱい。
09/05/06 14:03:18 b6Xj8bdU0
スクリプト超初心者で意味不明です。
UWSCはそれよりは少し簡単だとききました。
キャッシュバックモールの検索で使う不純な目的ですが…

UWSC Free版 Ver4.5aで
①文字を指定して検索
②11~20秒ランダムで時間指定して間をあける。
③検索結果のページから、検索ページへページを戻す。
④ ①とは違う文字で検索

①~④の繰り返しをこのソフトでできますか?
この方法や手順のコツがあれば教えてください。

172:名無しさん@お腹いっぱい。
09/05/06 16:15:12 tpC5BtzM0
>>171問題なくできる
コツとしてはフレーム使用サイトだった場合IEGET/SETDATAが使えないから
a_tags = IE.document.frames("そこのフレーム名").document.getElementsByTagName("a")
a_tags.item(0).innerHTMLなりa_tags.item(6).clickなりするところ
ducumentオブジェクト(DOM)の詳しい使い方はUWSC以外でも共通なんで必要になったらネットにもいろいろ情報転がってる

173:名無しさん@お腹いっぱい。
09/05/06 16:59:46 okQLn1BE0
俺なら有料で教えてやるよ
どうせ調べ方も分からないだろうし、調べる気もないだろうし
1手順1000円、合計4000円でちゃんと動くやつ用意してやる

キャッシュバックモールだけでなくあらゆる場所で使えるから
先行投資だと思えば安いもんだろ

174:名無しさん@お腹いっぱい。
09/05/06 17:49:39 +2INV9Pa0
Drop on Scriptを使うなど出先のPCのレジストリに影響を与える方法を避けて、
USBからアプリを起動する環境で便利にスクリプトを使う方法をいろいろ調べていたら、
Windowsが標準搭載しているbatやJscriptにスクリプトを組み込んで使う方法があると知りました。
【.cmd】バッチファイルスクリプト%4【.bat】 スレリンク(tech板)
URLリンク(pc.nikkeibp.co.jp)
URLリンク(www.geocities.jp)
Jscriptやなでしこは、batファイルにそれぞれのスクリプトを記述して、
複数行コメント機能や、複数行変数の機能をうまく利用して
例 "M:\PortableApps\nadesiko_lang\vnako.exe" "%~0" %*で
引数も渡せるようです。
同じようなことをUWSCでやろうとしたら、拡張子uwsをチェックしてるらしくて
はじかれてしまいました。
起動オプションに拡張子チェックをしないなんてオプションがあると、
簡単に出来るように思うんですけど、みなさんどう思います?

175:名無しさん@お腹いっぱい。
09/05/06 18:27:13 O17l4RXh0
どうでもいい

176:名無しさん@お腹いっぱい。
09/05/06 18:54:49 X7Us3g8sP
もう少し要約して書いてくれないか?
事象が羅列されてはいるが関連性が理解できない内容になっている

177:名無しさん@お腹いっぱい。
09/05/06 19:10:59 X7Us3g8sP
リンク先を読んだ。

UWSCのスクリプトで記述されたファイル"XXX.bat"がある。
UWSC.exeのパラメータにそのファイル名を渡して動かしたい。
UWSCに拡張子チェックがあって~.uwsでないと動かない。
拡張子チェックなんて不要では?

という解釈で合っているか?

178:名無しさん@お腹いっぱい。
09/05/06 20:19:44 X7Us3g8sP
関連付け等でレジストリをいじりたくない、かつ
batファイルダブルクリックだけでUWSCスクリプトを動かしたいという意味だとしても
これで充分動くだろうし・・・
となると>>177は違うか

TEXTBLOCK doscmd
copy "%~0" aaa.uws
"C:\Program Files\uwsc\uwsc.exe" aaa.uws
del aaa.uws
exit
ENDTEXTBLOCK

MSGBOX("Hello, World")

179:171
09/05/07 07:35:20 FXknwHL70
>>172
>>173
ありがとう。

昨日自己流で開発した物を先ほど試してみた。
お粗末なスクリプトだけど、機能的にはまあOKでした。
でも1つだめな点。
ワイヤレスネットなので、ほんの時々
接続が不安定になってページ表示が遅れます。
それが原因で100個検索の途中でエラーになることがあります。
これの解決方法を教えてください。(おねがします・・)

180:名無しさん@お腹いっぱい。
09/05/07 08:48:01 E2Y09ngh0
俺なら有料でチェックしてやるよ
どうせ調べ方も分からないだろうし、調べる気もないだろうし
5000円でちゃんと動くやつ用意してやる

キャッシュバックモールだけでなくあらゆる場所で使えるから
先行投資だと思えば安いもんだろ

181:名無しさん@お腹いっぱい。
09/05/07 09:59:26 Q7hf5WbeP
5000円も出すんならそういうソフトウェア探したほうが確実なような。 

182:174
09/05/09 13:10:27 U62YEW5T0
>>177 >>178
標準で関連付けされ、ファイルのドロップを受けられるbatやJSに相乗りできれば
相手のPC上でUWSCが関連付けされてなくても気兼ねなくスクリプトを動かせるという話です。
任意のドライブのUSBメモリにある指定のバージョンのUwsc.exeとスクリプト1つと、
BATの場合なら"%~dp0uwsc.exe" "%~0" %* の記述で、相手PCへ影響を最小限に抑えて
スクリプトを実行できるのは便利だな、と。(inputでドロップ受ける使い方も便利ですけどね)
GET_UWSC_DIRにiniやCall用のスクリプトをまとめて置くような大雑把な使い方も気兼ねなく出来るし。
拡張子チェックをしない起動オプションがあれば、いろんな環境で
融通の利く使い方も可能かな?と思ったわけです。

183:174
09/05/09 13:31:22 U62YEW5T0
>>178
新たにファイルコピーとかじゃなくて、そのまま動いたほうがいいかなぁと思って。
たかがユーザーで生意気なこといってすんません。

184:名無しさん@お腹いっぱい。
09/05/09 19:00:40 C0iNuRh9P
>新たにファイルコピーとかじゃなくて、そのまま動いたほうがいいかなぁと思って。

だったら作者に直接頼めばいいじゃん。賛同者を募っても意味がない。
「他の方法でも実現可能ですが他のスクリプト言語と動作を合わせたいので拡張子チェックをやめて下さい」
って言えば実装してくれるかもよ。

コピーがダメで、そのまま動くのは良いとする合理的理由が提示できれば可能性は高まる。

185:名無しさん@お腹いっぱい。
09/05/09 23:38:59 tfFS9/XZ0
UWSC起動すると重くなるのはなぜですか?


186:名無しさん@お腹いっぱい。
09/05/09 23:54:05 UdxXVJFK0
>>185
uwscが動いているからです

187:名無しさん@お腹いっぱい。
09/05/10 00:16:08 aZKLejEf0
exe化すると3倍早くなるとか・・・そんなオマケはないかw

188:名無しさん@お腹いっぱい。
09/05/13 20:15:34 GlHeCM5a0
REPEAT ~~ UNTIL 文を使用して

REPEAT
  処理
UNTIL 式 AND(OR) 式

といったように判定文を二つとかにできるのでしょうか?

189:名無しさん@お腹いっぱい。
09/05/13 20:29:46 2MaqNuwBP
>>188
もちろん可能
なんで?



190:名無しさん@お腹いっぱい。
09/05/13 20:47:34 GlHeCM5a0
>>189
もちろん軽くやってみたんですが
エラー吐き出してしまったので・・
少しがんばってみます

191:名無しさん@お腹いっぱい。
09/05/13 20:59:38 ps5sVa6O0
括弧で囲ってみるとか

192:名無しさん@お腹いっぱい。
09/05/13 21:06:35 GlHeCM5a0
>>191,189さんありがとうございます
自分は一度できないと投げ出してしまう性格なようで・・
できるという確信が欲しかったのが本音です
できました

193:名無しさん@お腹いっぱい。
09/05/20 00:52:21 taNHDTpg0
皆さんノートパッドで編集してるのでしょうか?良い編集ソフトがあれば是非教えてください。

194:名無しさん@お腹いっぱい。
09/05/20 01:04:56 T/+OSZKf0
TeraPad

195:名無しさん@お腹いっぱい。
09/05/20 01:29:23 taNHDTpg0
>>193
これは軽いし、いい感じですね

196:名無しさん@お腹いっぱい。
09/05/20 07:50:22 hQe8MsJi0
Hidemaru

197:名無しさん@お腹いっぱい。
09/05/20 08:43:56 VScXm2khO
秀丸いいよ

強調表示すれば色が付いてソースが見やすいし編集が楽しい
マクロも駆使すればデバッグも楽にできる

198:名無しさん@お腹いっぱい。
09/05/20 13:31:25 DmkRHCKd0
uwsc pro付属のデバッガで書くのが便利だな

199:名無しさん@お腹いっぱい。
09/05/20 14:32:45 IzKgsD9D0
>>198
それはないw
最低でも入力補完と強調表示はないと…

200:名無しさん@お腹いっぱい。
09/05/20 16:50:28 /qJ6n5kw0
UWSCの入力補完してくれるエディタなんてあるの?

201:名無しさん@お腹いっぱい。
09/05/20 17:07:39 QCGx1Srl0
私は、メモ帳の編集からやってます・・・
開くの面倒だし一括で管理できればいいなーと日々思ってる。

あと、画像の保存。これの範囲指定がちょーめんどう


202:名無しさん@お腹いっぱい。
09/05/20 19:38:45 +bwb5Hvf0
秀丸でのUWSCコーディング環境例はこんな感じ
大規模な開発はしないので予約語や標準関数の単語補完で十分やっていける
メモ帳よりは断然簡単に出来そうだし、何より楽しそうでしょ?

URLリンク(sakuratan.ddo.jp)
URLリンク(sakuratan.ddo.jp)

他のエディタ使ってる人がいたらキャプチャ画像見せてくれ

203:名無しさん@お腹いっぱい。
09/05/20 21:11:37 0p3fmBht0
>>202
気色悪い

204:名無しさん@お腹いっぱい。
09/05/20 21:54:00 QjV8JIkZ0
>>202
この環境の作り方を教えてください。
UWSC用強調表示定義ファイルだけは導入してますが、、、

205:名無しさん@お腹いっぱい。
09/05/20 23:14:03 GYzKVKFu0
センスねえなおい

206:名無しさん@お腹いっぱい。
09/05/21 00:52:04 Sv52ydXqP
URLリンク(scripts.web.fc2.com)

入力補助もあったらたしかにいいな。
でも入力補助はオブジェクトとかを自動的にリストしてくれないとあんまり使えないよね。

207:名無しさん@お腹いっぱい。
09/05/21 10:46:37 33MxVP3d0
>>205
センスあるキャプチャ画像くれ

208:名無しさん@お腹いっぱい。
09/05/21 10:47:45 9aQAYLO60
>>204
ファイルタイプ別の設定で色々変えると実現できるよ。
・UWSC用強調表示定義ファイルは秀丸ライブラリのは古い&欲しい定義が足りない&単語補完にも使いたいので自分で作成
・複数行コメントで表示方法をユーザー定義で手直しする
 //コメント, "~"文字定数,TextBlock~EndTextBlockスクリプト部分
・単語補完の自動表示をON、表示方法を「リスト」にする
 単語補完の検索対象を「現在編集中のテキスト」、辞書ファイルを「強調表示ファイル」に指定
くらいかな。他にも色々変えているかも。

>>206
確かにCOMオブジェクトは大変ですね。統合開発環境のように文脈の解析まではしないので自分で入れてくしかないし。
まあUWSC関数名とかのスペルミスを減らしてくれるのでそれだけでも十分重宝してます。

209:名無しさん@お腹いっぱい。
09/05/21 16:06:53 pi7xZiR70
秀丸4200円払って使ってるのか・・?

210:名無しさん@お腹いっぱい。
09/05/21 16:15:21 9GUKUYkK0
つ秀丸エディタフリー制度

211:名無しさん@お腹いっぱい。
09/05/21 21:10:25 5yMAa7Qe0
>>210
それは知らなかったなぁ…
スクリプターでもいいのかしら…申し込んでみるしかないか。

とはいえ、今のsakuraから乗り換えるのも難儀だわ。

212:名無しさん@お腹いっぱい。
09/05/21 21:25:39 ffiJf+S4P
秀丸は10年以上使えるから普通に払えよw

213:名無しさん@お腹いっぱい。
09/05/22 06:19:00 PW1wQXFN0
AutoItでキーボードを数秒毎にキーをアプリで押し続けるマクロを作りたいのですが、
USWCと文法違ってるでしょうか?

214:名無しさん@お腹いっぱい。
09/05/22 14:37:26 rPrKib1mP
>>213
そりゃ違うだろ

215:213
09/05/22 15:47:04 PW1wQXFN0
英文ヘルプ解読かなりしんどいです・・
AutoItならツール開発できるんだけどなぁ

216:名無しさん@お腹いっぱい。
09/05/22 17:18:30 1wh/neDN0
UWSC ProならEXE化出来るよ

頑張って英訳する・・・AutoIt
お金払って英訳不要・・・UWSC pro

217:名無しさん@お腹いっぱい。
09/05/22 17:47:27 WtyVQNVr0
テンプレにはWindowController入ってるけど、誰も使ってないのかね

218:名無しさん@お腹いっぱい。
09/05/23 09:03:37 ximSvABd0
フリー板を使用しています。
意図としてはclititle[]に入ったものからひとつ選択させることです
が、私の環境ではSLCTBOXで"A","B","5"が選択肢に出てしまいます。
なぜわざわざ、変数を使うかと言うといずれ変更する場合にファイルの先頭をいじればすぐに対処できるようにです


PUBLIC clititle[4]="A","B","C","5"

a=SLCTBOX(SLCT_BTN or SLCT_NUM,20,"どれかを選んでください",clititle[0],clititle[1],clititle[2])
sleep(1)


219:名無しさん@お腹いっぱい。
09/05/23 12:02:53 2Paz/uqW0
公式の掲示板見ろ

220:218
09/05/24 01:11:29 J+66nvQu0
>>219
ありがとうございました
おかげで見つけることが出来ました

221:名無しさん@お腹いっぱい。
09/05/24 12:50:52 Xb8rGLSU0
>>217
.Net Framework入れなきゃいけないのがあれだけど、ウィンドウの階層とか見れて便利だよ

222:名無しさん@お腹いっぱい。
09/05/26 22:13:36 +RDILU9c0
画像判定で自動クリックするスクリプトを組んでいるんですが、
「もし画像Aが無い場合は画像Bをクリックする」を実行するにはどう書けばいいんですか?
「もし画像Aがある場合は画像Aをクリックする」みたいなことはできています

223:名無しさん@お腹いっぱい。
09/05/26 23:14:40 TZB2jF9QP
>>222
その質問定期的にあるんだけど、まだ解決してないのか新参なのかはっきりしてほしいところ。

検索したらいろいろ出てくるはずだし。


224:名無しさん@お腹いっぱい。
09/05/26 23:22:42 AJ3m6Ie9P
戻り値 = CHKIMG( "画像A" )
IFB 戻り値 = FALSE THEN
//画像Bをクリックする処理をここに
ENDIF

225:名無しさん@お腹いっぱい。
09/05/27 13:32:12 la2dJ90hO
ハッシュテーブルについて質問です
使い方は分かるのですが有効な使い道が思いつきません

これの有無で大幅にソースが分かりやすくなるとか
処理効率が良くなる例を教えて頂けないでしょうか?

226:名無しさん@お腹いっぱい。
09/05/27 16:03:12 pfWyrr2F0
>>225
>ハッシュテーブル

連想配列のこと言ってるんかいな?

227:名無しさん@お腹いっぱい。
09/05/27 16:04:07 kSbeGETG0
>>225
利用するのとしないのとベンチマーク用コード書けばすぐわかる
ぱっと書けるのがUWSC最大の利点なんだから

228:名無しさん@お腹いっぱい。
09/05/27 21:32:52 K6/6pBlWP
>>225
僕が自動ログインスクリプトを書いたとき、
Webサイトごとに項目がいろいろあったんだけど、
それらを一人分の1件のデータから引用するように作ったんだけど、
項目名をキーに使うと管理しやすかったよ。

つまり、2次元配列は項目名をつけてないExcelのシートみたいなもんで、
連想配列はそれに項目名をつけて名前で定義するようなもの。

データを探すコードが必要がなくなるので簡単に書けるようになる。


スクリプトでデータを探すループを書くと遅いが、
ネイティブコードで検索する連想配列は高速だと思う。
ただ、そんな大量のデータを扱うこと自体が、特にUWSCでは難しいんじゃないかな。
大量なデータを確実に高速に扱いたかったらDBのCOMを使ったほうがいいと思う。


229:名無しさん@お腹いっぱい。
09/05/29 17:26:57 7S51W74l0
EXECとかで起動したアプリでウインドウサイズが変更可能な場合
ウインドウサイズの変更ってどうやるんでしょうか?

230:229
09/05/29 17:41:16 7S51W74l0
調べたらこれで出来そうですね、試してみます。。
URLリンク(www.e-dcz.com)

231:229
09/05/29 17:47:02 7S51W74l0
ACW(GETID(GET_ACTIVE_WIN),100,100,100,100,0)
とかやると出来ました。
お騒がせしました。(´・ω・`)

232:横レス
09/05/29 19:02:43 8NGBVTKQ0
>>228
>DBのCOM
落し物部屋にDAO,ADO(まぎらわしくない名前なかったんかいw)のサンプルあるね
Windows標準でついてくるデータベースエンジン(MSDE)初めて意識的に使った
(なんかのソフトが使ったことはあるんだろうけど)

233:名無しさん@お腹いっぱい。
09/05/30 12:02:21 Wil6mTmF0
それなりにスクリプトかけるようになるとテラ便利だなこれ…
今まで細かいのはVBScript とかでやってたけど
UWSCにしようかな

234:名無しさん@お腹いっぱい。
09/05/31 03:12:03 ywUF+cK10
低脳ですいません

Aという画像があった場合Bという画像をダブルクリック 
Cという画像があった場合3回だけクリックする
Dという画像があった場合クリックして文字を@@@と打ち込む

こうゆのってできますか? 


235:名無しさん@お腹いっぱい。
09/05/31 05:06:28 FAKWGChRP
>>234
出来るけどリアルタイムな監視だと実用にならんよ

236:名無しさん@お腹いっぱい。
09/05/31 11:44:56 22DZlQuL0
>>233
欠点は、ほかのスクリプト言語に比べて起動が遅いことくらい。


237:taka
09/05/31 16:52:38 rOChwOYf0
c:\b のフォルダーのファイル (*.a (約5000件))を一括変換したいのですが?

238:名無しさん@お腹いっぱい。
09/05/31 17:10:57 onT5qa6F0
いいですよ
何をどう一括変換するか知りませんが
ここで許可とらなくても全然OKです

239:taka
09/05/31 18:54:29 rOChwOYf0
Dim cnt=getdir("c:\b\","*.a")
for i=0 to cnt-1
FN=GETDIR_FILES[i]

ACW(GETID("ac - FN"),-8,-8,1296,1008,0)
BTN(LEFT,CLICK,624,61,188)
ACW(GETID("出力設定","#32770"),407,297,467,399,0)
BTN(LEFT,CLICK,734,673,203)
ACW(GETID("ac - FN"),-8,-8,1296,1008,0)
ACW(GETID("ac","#32770"),467,404,346,185,0)
BTN(LEFT,CLICK,767,564,156)

next

上記でエラーが出るのですが わかる方がいらっしゃいましたらご指導お願いします。

240:名無しさん@お腹いっぱい。
09/05/31 19:59:41 7E7hpKabP
まず大きく変なのが、3行目でFNにファイル名を入れているにもかかわらず
FN自体を使用する処理がありません。

>ACW(GETID("ac - FN"),-8,-8,1296,1008,0)
から
>BTN(LEFT,CLICK,767,564,156)
までは開いているウィンドウに対して、何らかの処理をしたがっているようには見えますが
常識的に考えると"ac - FN"のような名称のウィンドウは見つかるはずがないため、
処理的には何も出来ないはずです。
その結果としてボタンをクリックする処理も正しく動作しません。

「一括処理」とは「何」を「どのように」処理を施したいのかを
明確にしてください。

つまりFNに入れたファイル名を何に使いたいのか?
"出力設定"というウィンドウに対して何をしたいのか?
を詳しく書いてください。

241:名無しさん@お腹いっぱい。
09/06/01 00:54:42 SQU0dFf0P
>>239
FNはファイル名なので
たとえばタイトルバーに「ac - 123a」とあるとすると
GETID("ac - " + FN)
とすればいいです。

エラーが出るなら、どの行でなんていうエラーが出るのか書いてくれないと分かりません。
とりあえず、あるかどうかも分からないウィンドウの処理を、無かった場合を考えてないので変な動作をするのは想像できます。


242:名無しさん@お腹いっぱい。
09/06/07 22:16:30 asRINGPU0
uwsc使い始めでよくわからないので教えてください。

while 1
Dim a = 1
 一番右上の空白に文字列aaa+変数を書き込む 
 //作業1
//作業2
//作業3
a = a + 1
WEND

書き込む所はどうすればできるのでしょうか?
作業123は正常に動きます。

243:名無しさん@お腹いっぱい。
09/06/07 23:09:21 5b1bhkqi0
おい!ちょっとエスパー読んできてくれ!

244:名無しさん@お腹いっぱい。
09/06/07 23:14:28 OPjWq+620
一番右上の空白とは一行目の行末のこと?
SendStr
FPut
あたりじゃダメ?

245:名無しさん@お腹いっぱい。
09/06/07 23:17:53 gV79Fw+LP
どのようなアプリケーションの右上なのかな?
他人が状況を把握出来る説明だと回答もらえやすいよ

246:名無しさん@お腹いっぱい。
09/06/08 22:52:52 lT7YTxwk0
タスクマネージャのプロセス一覧に出ているリスト列を
タスクマネージャを開かずに取得する方法ってないですかね?

GETALLWIN的な扱いの簡単さが出来ると嬉しいのですけど…

247:名無しさん@お腹いっぱい。
09/06/09 10:03:09 OB3fzy750
リスト列ってのが何を指してるのかわかんないけど
API経由で取得するのが簡単だと思うよ

248:名無しさん@お腹いっぱい。
09/06/09 14:45:33 JmluGmGYP
>>246
Windows7のタスクマネージャで取ってみたけど
GetItem( ID, ITM_LSTVEW, 0 ) でリストが取れる。
あとはALL_ITEM_LIST[]から順に取り出していく。

配列使ってるからそこはてきとーに処理して
【ITM_LSTVEW】
 アイテム数 = GetItem( ID, ITM_LSTVEW, j )
 For k = 0 to アイテム数 - 1
  SendSTR(メモ帳, (k+1) + ") " + ALL_ITEM_LIST[k] + "|<#TAB>", 1, false, false)
 Next

出力結果
1) explorer.exe| 2) dwm.exe| 3) perfmon.exe| 4) Jane2ch.exe| 5) wmplayer.exe| 6) iexplore.exe| 7) iexplore.exe|
8) iexplore.exe| 9) sakura.exe| 10) csrss.exe| 11) wmprph.exe| 12) UWSC.exe| 13) taskmgr.exe| 14) taskhost.exe|
15) notepad.exe| 16) notepad.exe| 17) taskhost.exe| 18) p2proxy.exe| 19) vmware-tray.exe| 20) sakura.exe| 21) FlashUtil10b.exe|
22) prevhost.exe| 23) winlogon.exe| 24) SOUNDMAN.EXE| 25) rundll32.exe| 26) ipmsg.exe|


249:名無しさん@お腹いっぱい。
09/06/09 14:53:56 JmluGmGYP
そういえば ALL_ITEM_LIST って2次元配列だったりしないんだっけ?
これだとプロセスナンバーとかの数字が取れない。


250:名無しさん@お腹いっぱい。
09/06/09 16:29:45 XsDpdM150
>>248
できた。ありがとう。
…でも、タスクマネージャーを開いたりする動作がちょっとめんどくさい。
バックグラウンドで何も表示が変わらず取得するには>>247の通りAPIとかがいいのかなぁ…

APIとしてtoolhelp32があるらしいが、宣言様式がわからずに挫折。

探していったら、コマンドプロンプトで「tasklist」を打つと標準出力としてリストが帰ってくるみたい。
今回はこれを使ってみます。

…挫折しそうだったけど、なんとかなりそう。有難うございました。

251:名無しさん@お腹いっぱい。
09/06/09 17:38:09 JDTy0djO0
なるほどね(´・ω・)

252:名無しさん@お腹いっぱい。
09/06/09 17:47:30 98GC24TC0
>>250
tasklist /?

253:名無しさん@お腹いっぱい。
09/06/09 21:17:19 yZRaCbPW0
APIつかえば楽にできるものまで、なんで無理やりUWSC使おうとするのか・・・

254:名無しさん@お腹いっぱい。
09/06/09 21:34:50 OB3fzy750
ん?
uwscでAPI使えるが

255:名無しさん@お腹いっぱい。
09/06/09 23:11:29 XsDpdM150
>>253
APIを使った先がウィンドウ操作ならUWSCを使うのもありかと思う。

256:名無しさん@お腹いっぱい。
09/06/10 06:32:08 s0GnnaGy0
未だに2.8使ってるわ

257:名無しさん@お腹いっぱい。
09/06/12 19:46:08 cYfKVn6U0
指定ウインドウのタイトルバーをホットキーで
ON/OFFできるようになった
テラ便利だなこれ

258:名無しさん@お腹いっぱい。
09/06/12 23:17:03 LyI0bbxR0
あの、pro試用版の期間切れてまったく使えなくなったんですが、再度インストールしなおす感じで
使えるようになる方法はあるでしょうか?
それか課金すれば他のPCでも作ったEXEを起動させる事は可能でしょうか?

259:名無しさん@お腹いっぱい。
09/06/13 16:27:25 HHSbXdvr0
(1ライセンス:1人の使用者もしくは1台のコンピュータのどちらかといたします)
1人の使用者=別PC起動OK?

260:名無しさん@お腹いっぱい。
09/06/13 17:00:46 ypl3J9yE0
>>258
exe化されたものは単体で動く&ライセンスフリーで配布化なので

>課金すれば他のPCでも作ったEXEを起動させる事は可能でしょうか?
は問題ない。

>>259
要は多人数・多PC間で同一シリアルでの使用、以外であれば基本的にはOKということかと…

261:名無しさん@お腹いっぱい。
09/06/13 17:05:09 HHSbXdvr0
>>360
>>exe化されたものは単体で動く&ライセンスフリーで配布化なので

他のPCでフリー版proの期限が切れてるとexeも起動できないのです

262:名無しさん@お腹いっぱい。
09/06/13 17:13:58 HHSbXdvr0
とりあえず製作者さんに聞いてみます

263:名無しさん@お腹いっぱい。
09/06/13 17:30:51 ypl3J9yE0
>>261
それはあくまでも”試用”だからじゃない?
以前は試用時期はexe化不可だったので、その後、そのようなbombを加えたんだと思うよ。

264:名無しさん@お腹いっぱい。
09/06/13 17:36:03 MuifibEd0
>EXE化後は単体での実行が可能であり、ライセンスフリーにて配布できます
元のpro試用版とはEXE化した時点で切れて元のライセンスとは無関係になる意味だとしか読めない
(中級者以上は全員そう答えると思う)

詳細:
大原則「元のプログラムのライセンスが成果物に及ぶことはありえない、ただし成果物に元のプログラムの一部分を含む場合は除く。」
UWSCのEXE化の場合ただし書きに当てはまっちゃうから自動的に(何と書いてあろうが)拘束されるわけないとは言えないけど
最初の文に戻ってセーフ

265:名無しさん@お腹いっぱい。
09/06/13 20:05:44 bQw4ownc0
Pro試用版で作ったExeには、試用版の期限とともに使えなくなる制限が加えられているって話か?
あたりまえなんじゃないの?

266:名無しさん@お腹いっぱい。
09/06/13 21:25:07 1s3MThNz0
そうじゃないから話題にしてるんだろ…

267:名無しさん@お腹いっぱい。
09/06/13 21:43:14 okfHIytV0
どうしてこんなことに

268:名無しさん@お腹いっぱい。
09/06/18 01:47:18 7aUOItL20
MOUSEORG使わずに裏のソフトにキーボード送る方法しらない?
仮想デスクトップだと失敗した(windeskwide)

269:名無しさん@お腹いっぱい。
09/06/19 16:01:31 ZIX8IAzn0
vitualPCくらいしかないんじゃないか?

270:名無しさん@お腹いっぱい。
09/06/19 18:53:26 08TlUNPj0
3レス前までの話なんだけど
メモリースティックに正式版UWSCのEXEを入れて別PCでそのEXEを起動できるのですか?

271:名無しさん@お腹いっぱい。
09/06/19 19:46:29 pAkGm9U/0
いままでメモ帳でスクリプト書いてたが、ここで紹介のあったさくらエディタ試しに使ってみたら
すげー便利なんで驚いたよ。プログラムなんていままでやったことなくてUWSCが唯一のなんちゃって
なんだけど、スクリプト書くのに入力支援ってのがあるのを初めて知りまつた^^

ちらしの裏でごめんなさい。

272:名無しさん@お腹いっぱい。
09/06/20 22:01:42 EKtO2XvN0

Ifb PEEKCOLOR(100,100) = $0000FF then
KBD(VK_A,CLICK,100)
endif

これで100、100の色が赤のときAキー押しますよね・・?
X100~200 y100~200の範囲に赤があるとき
Aキーを押すにはどうしたらいいんでしょうか?


273:名無しさん@お腹いっぱい。
09/06/21 10:43:56 RhC3FDVM0
>>271
入力支援とはどのような?

274:名無しさん@お腹いっぱい。
09/06/21 12:13:01 DCfGr8OJ0
俺はかなり昔から金払ってEmEditor使ってる
html、perl、vbs、shとか全部これ
EmEditor以外でよく使うのはvi

275:名無しさん@お腹いっぱい。
09/06/21 12:46:41 5kj31fKJP
>>271
for文の2重ループ

FOR x=100 TO 200
FOR y=100 to 200
Ifb PEEKCOLOR(100,100) = $0000FF then
KBD(VK_A,CLICK,100)
BREAK 2
endif
NEXT
NEXT

色が完全に固定ならチェック対象の1ピクセルの画像を用意してCHKIMGとか

どちらにしても負荷は高い

276:名無しさん@お腹いっぱい。
09/06/21 13:05:02 /nl1DTl50
>>273
"Get"とキーボードで入れると、"ゲッツ!"とダンディの声が再生され、
スクリプトの入力がはかどる機能だ。いまのところ、さくらエディタにしかない。

277:名無しさん@お腹いっぱい。
09/06/21 13:18:32 G+IyuUm70
メモリースティックにUWSCのEXEを入れて別PCでそのEXEを起動できるのですか?

278:名無しさん@お腹いっぱい。
09/06/21 17:28:50 iA+d4F2z0
こんな入力支援じゃダメ?(´・ω・`)

ID = GetID("メモ帳","Notepad", 0.02)
HashTbl a
  a[30] = "ChgMoj()"
  a[31] = "CreateOLEObj()"
  a[70] = "GetActiveOLEObj()"
  a[32] = "CtrlWin()"
  a[60] = "Fukidasi()"

Thread Focus()
b = SlctBox( SLCT_LST, 0, "どれか選んでね", a[30], a[31], a[32], a[32], a[60])
If b < 1 then Exit
c = LOGN(2, b)

Ifb 0 < ID
  SendStr( ID, a[c, HASH_VAL])
Else
  SendStr( Exec("Notepad"), a[c, HASH_VAL])
EndIf

Procedure Focus()
  SCKey( GetID( "", "TFSectBox.UnicodeClass", 0.02), VK_Down)
FEnd


279:名無しさん@お腹いっぱい。
09/06/21 17:34:27 G+IyuUm70
ライセンス取ってる人本当にいるんですか?

280:名無しさん@お腹いっぱい。
09/06/22 14:40:20 VkD3AiIxP
>>279
さー
いるんじゃないの?

でも、2ちゃんねる自体人が減っちゃったし、ヘビーユーザー以外は大規模規制で書き込めないし。


281:名無しさん@お腹いっぱい。
09/06/24 03:29:36 fQEr78db0
ウィンドウタイトルの無いウィンドウ(ツール)を操作したいのですがどうしたらいいでしょうか。
具体的にはURLリンク(novolization.hp.infoseek.co.jp) のMovieOperatorを
操作したいんですが。
プロセスから絞り込み出来るAHKに色目を使ったりしたんですが、日本語関係が扱いにくすぎるので戻ってきました…
UWSCでも同じようなことが出来たらと思いまして。

282:名無しさん@お腹いっぱい。
09/06/24 11:28:57 bogFoJon0
>>281
全部のウィンドウを探索して
特定の文字列を、特定の場所に持つ(title, static, edit…等々)ものを検索しても良いんじゃないか。

283:名無しさん@お腹いっぱい。
09/06/24 15:13:14 PNf2g6ai0
メモリースティックにUWSCのEXEを入れて別PCでそのEXEを起動できますか?

284:名無しさん@お腹いっぱい。
09/06/24 18:06:45 /v3ozSjk0
動くよ

285:名無しさん@お腹いっぱい。
09/06/25 14:08:56 u8YpvIpq0
>>281
クラス名指定では絞り込めないのか?

286:名無しさん@お腹いっぱい。
09/06/25 16:03:16 jI+hlXDc0
クラス名は #32770 でよくあるダイアログのそれです。

UWSCから起動してexecの戻り値を取るとか、アクティブウィンドウを指定するとか、
ウィンドウ総当りとかじゃないもっとストレートな指定法って無いもんですかね?

AHKではプロセスからからウィンドウ指定できるんですね。
何年もUWSCだけ使ってましたがこれを機にAHKも勉強中。
スタティックのテキスト変更できたりと色々便利。

UWSCでもAPI使えば出来るんだろうけど、なかなか敷居が高いです…

287:名無しさん@お腹いっぱい。
09/06/25 17:58:21 u8YpvIpq0
>>286
なる。 駄目もとで公式に要望出しておいたら?
AHKは確かに便利なんだけど、あの書式がどうしても馴染めない…


288:名無しさん@お腹いっぱい。
09/06/25 18:19:24 wYqTelZv0
総当りっつても、関数にしちゃえば大したことないよ。
クラス名と、Statusでプロセス名と、ウィンドウ内部のいくつかのテキストが合致すりゃいいだけの話。
UWSCのヘルプ見れば簡単に取得できる。
API使う技量があれば大したことないと思うんだが・・・
AHKは慣れるまで大変だけど、UWSCより反応や処理が早いような気がするわ。
キーカスタマイズできるために処理が早いのか、exeが200キロバイトくらいしかないからなのかわからんが。
でも楽なのはUWSCだね。

289:名無しさん@お腹いっぱい。
09/06/26 00:30:23 kYZKAKEF0
PRO版をレジストした。
くそう…もっとはやくレジストしておけばよかった…

EXE化の恩恵がソース隠蔽の他にもあった。
補助ソフトを使わずに、複数ファイルがドロップ受付可能になるのは便利だ。

290:名無しさん@お腹いっぱい。
09/06/26 02:05:41 jxeiONc00
>>288
問題のツールはリストボックスの選択でモード変更するんですが
モード変更によって内部コントロールの数もテキストもごそっと変わるんですね。
きめうちで指定できる全モード共通のテキストが無い。

まあそれもモード毎に分ければいい話ですが、使わないモードの
ぶんまでいちいち記述するのは面倒くさいですよ。

291:名無しさん@お腹いっぱい。
09/06/26 03:10:05 rn5hv3nk0
//前作ってた奴から関数にしてみた。テキストのチェックはないけど
option explicit
//クラス名とExe名からIDを取得する
dim sNameClass = "#32770"
dim sNameExe = "movieoperator.exe"

dim ret = GetID_class_Exename(sNameClass,sNameExe)
msgbox(ret)

function GetID_class_Exename(sNameClass,sNameExe)
GETALLWIN()
dim iii
result = ""
for iii=resize(ALL_WIN_ID) to 0 step -1
ifb status(iii,ST_Class) = sNameClass and copy(status(iii,ST_Path),length(status(iii,ST_Path))-length(sNameExe)+1,length(sNameExe)) = sNameExe then
result = iii
exit
endif
next
FEnd


292:名無しさん@お腹いっぱい。
09/06/26 09:21:02 jxeiONc00
>>291
なるほど、ST_PATH使うんですね。
こっちのほうがだいぶスマートです。

ウィンドウ総当りでも内部コントロールのテキスト使うことばかり頭にありました。

293:名無しさん@お腹いっぱい。
09/06/27 21:21:48 I4Xj1M1U0
>>289
他PCでもレジストできますか?

294:名無しさん@お腹いっぱい。
09/06/28 00:32:11 KYHTB2rv0
税込む価格
10本未満 : 1本 6,720円
10本~29本: 1本 6,090円
30本~49本: 1本 5,460円
50本以上~: 1本 4,830円
例:12本の場合は 12*6090にて、お振込み頂く金額は 73,080円になります。

これについて一言

295:名無しさん@お腹いっぱい。
09/06/29 12:12:35 26BV9Jn80
画面全体、もしくは指定座標が #FFFFFF→#FFFF00に変化したら音を鳴らして、
#FFFF00になっている間はループ。#FFFF00→#FFFFFFに変化したら音を止めて、
監視状態に戻る・・・というものを作りたいのですが、スキルがない為にうまく組めません。
用途としてはアラート監視に使いたいと思っています。監視ソフトに音を鳴らす
機能がついていないので、UWSCでその機能を補完できればと考えています。
お力をお貸し願えないでしょうか。
(取りあえず自分でも組んでみたのですが、改行多すぎで投稿できませんでした)


296:名無しさん@お腹いっぱい。
09/06/29 15:09:48 aEsNyjSz0
WHILE TRUE
 IF PEEKCOLOR(x, y) = $00FFFF THEN SOUND()
 SLEEP(0.1)
WEND

どこをどうしたら改行多すぎる長いマクロかけるんだ…

297:名無しさん@お腹いっぱい。
09/06/29 16:04:22 NmP87/3+0
画面全体が対象だとちょっとだけ長くなるんじゃね

298:名無しさん@お腹いっぱい。
09/06/29 19:25:33 A0Ms4Bp/P
>>295
そういうのはスクリプトじゃないちゃんとしたプログラムで書くべき。
UWSCではⅠ画面のスキャンにも時間がかかりすぎる。


299:名無しさん@お腹いっぱい。
09/06/29 22:10:30 eTj2KOuA0
詰めるとスクリプトでは…という話かもしれないが
別のところを詰めると、スクリプトでもいけると思う。

まぁ、それには295が自分のやりたいことと、
取り巻く環境を正しく理解すれば…の話だったり。

300:名無しさん@お腹いっぱい。
09/06/29 22:55:12 n5qEjFKA0
>>293
出来るよ。何台でも。ライセンス条項違反だけどね。
>1ライセンス:1人の使用者もしくは1台のコンピュータのどちらかといたします

301:名無しさん@お腹いっぱい。
09/06/29 23:30:15 JbdH8yRJ0
>>298
時間っていっても大したことねえと思うが。
素人がさっと試せるのがUWSCのいいとこなわけだし。
それで駄目ならプロにたのめばいいわけだし。

302:名無しさん@お腹いっぱい。
09/07/01 19:45:32 Axm6U3Er0
すいません教えてください
指定範囲内の画像を判別し別の座標をクリックする下記のスクリプトを使っています

while true                              
ifb CHKIMG("画像1.BMP",指定範囲A) then
BTN(LEFT,CLICK座標)
break
endif
wend

見つかるまでループし見つかったらクリックして停止するのですが
チェックする指定範囲を指定範囲AだけでなくB、Cと増やし、
どれかが見つかればクリックして停止させるためにはどうすればよいでしょうか?

303:名無しさん@お腹いっぱい。
09/07/01 21:04:18 tiNZ/SLY0
POU!!!!

304:名無しさん@お腹いっぱい。
09/07/01 21:12:51 zKC91gH10
オンラインゲームとかでこのツールで自動化してる人多いんだろうか

305:名無しさん@お腹いっぱい。
09/07/01 21:22:23 15F2lE6M0
大抵使えないようになってなかったっけ?

306:名無しさん@お腹いっぱい。
09/07/01 23:18:23 9pXJwBtQP
前ここで紹介したやつとかはできるよ。


307:名無しさん@お腹いっぱい。
09/07/01 23:49:42 ygopY0dKP
>>302                              
ifb CHKIMG("画像1.BMP",指定範囲A) or CHKIMG("画像1.BMP",指定範囲B) then
みたいな方法はダメなの?

308:名無しさん@お腹いっぱい。
09/07/02 12:13:35 OEoizP2MO
uwsc間でセマフォを実現したいのですが
dllを作って制御するよりも簡単な方法はないでしょうか?

309:名無しさん@お腹いっぱい。
09/07/02 14:40:24 sDXIrU6E0
>>308

スレッドで排他的な処理をするときに、グローバル変数でやるけどな。

310:名無しさん@お腹いっぱい。
09/07/02 15:23:40 q3lfYl560
テキストファイル作るとかいくらでも原始的な方法あるだろ…。

小手先にこだわる人はそういうの嫌う傾向あるけどさ。

311:名無しさん@お腹いっぱい。
09/07/03 08:57:54 XVVCydyZP
>>300
それ、使用者が1人に限定されてるなら、複数台のPCにインストール可ってことだろ。
 複数台のPCにインストール = ライセンス違反
にはならないっしょ。

312:名無しさん@お腹いっぱい。
09/07/06 18:41:41 YZMKaP1Xi
話の流れを切ってしまってすいません。
最近、UWSCを使い始めた者です。
以下のようなスクリプトを作成したいと思っています。
グラフを表示するアプリケーションで、折れ線グラフに座標がプロットされています。
プロットにマウスカーソルを合わせるとカーソルが手アイコンになって、アイコンの横に数値等の情報が表示されます。
グラフにプロットされている数値情報をUWSCのスクリプトで取得したいのですが、実現可能でしょうか?

313:名無しさん@お腹いっぱい。
09/07/06 20:06:01 TPkvWju00
>>312
セーブ機能でもあれば(できればRAMDISKにするのが精神的にはいい)
ファイルに落とさせてそこからデータ拾う方向でスクリプト書くのが結局速度的に楽だと思う


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch