Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html
●UWSC 掲示板(※作成依頼掲示版ではありません)
質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past
●UWSC - Wikipedia
http://ja.wikipedia.org/wiki/UWSC
●使い方・基礎解説学習サイト
http://uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
http://www.confrage.com/uwsc/
http://necro.jp/dev/uwsc/
http://park14.wakwak.com/~simizu/uwsc/fruwsc.html
http://canal22.org/
http://big.tm.land.to/handbook/uwsc.htm
http://www.game-rev.com/review/gameut/uwsc.html
●スクリプトテンプレサイト
http://izagne.com/uwsc/
http://scripts.web.fc2.com/
http://www.nagomi-jp.net/~liners/
http://nem.symphonic-net.com/uwsct/0610uwsct.html
http://siromasa.digi2.jp/uwsc/
http://iriyak.adam.ne.jp/uwsc.html
※前スレ
自動化ツールUWSC使いよ集まれ20
http://egg.5ch.net/test/read.cgi/software/1515077979/
自動化ツールUWSC使いよ集まれ21
■ このスレッドは過去ログ倉庫に格納されています
2018/08/09(木) 21:42:11.79ID:8c1pTbyl0
2018/09/28(金) 14:01:19.03ID:HDW43dWb0
2018/09/28(金) 14:01:56.19ID:U0EJJBSa0
DOSCMDで可能だろ
Windowsでシリアル通信したことあるの?
Windowsでシリアル通信したことあるの?
2018/09/28(金) 21:39:20.64ID:NJUW7/7u0
>>302
早速ありがとうございます。WinSock の例ですね。シリアルより
遥かに高度っぽいですがとりあえず単なるシリアル通信にどう
提要したら良いのかわかりませぬ。WinSock 使うならすごく
参考になりそうですが。
>>303
Windowsでシリアル通信したことがあるか?と言えば Tera Term
でシリアル通信をしたことはあるんですが、それ以上でもそれ
以下でもありません。Tera Term でマクロを書いてファイルインタ
フェースで uwsc とやりとりすれば何とかなりそう、とは思ったの
ですが、スクリプトとスクリプトがファイルインタフェースで通信し
ている図というのも何かかっこ悪いので uwsc マクロ一発ででき
ないかと思って。ちなみにシリアル通信する相手はワンチップ
マイコンです。
早速ありがとうございます。WinSock の例ですね。シリアルより
遥かに高度っぽいですがとりあえず単なるシリアル通信にどう
提要したら良いのかわかりませぬ。WinSock 使うならすごく
参考になりそうですが。
>>303
Windowsでシリアル通信したことがあるか?と言えば Tera Term
でシリアル通信をしたことはあるんですが、それ以上でもそれ
以下でもありません。Tera Term でマクロを書いてファイルインタ
フェースで uwsc とやりとりすれば何とかなりそう、とは思ったの
ですが、スクリプトとスクリプトがファイルインタフェースで通信し
ている図というのも何かかっこ悪いので uwsc マクロ一発ででき
ないかと思って。ちなみにシリアル通信する相手はワンチップ
マイコンです。
2018/09/28(金) 21:43:22.35ID:NJUW7/7u0
× 提要
○ 適用
○ 適用
2018/09/28(金) 22:21:23.36ID:5DKaj5dY0
で、結局uwscは何のために使うんだ…?<シリアル通信
既にシリアル通信するアプリの操作をやらせるなら分かるが通信までやらせるの?
既にシリアル通信するアプリの操作をやらせるなら分かるが通信までやらせるの?
2018/09/29(土) 03:32:45.04ID:EGxkwC/O0
2018/09/29(土) 11:42:27.26ID:1MMfcP1B0
シリアル通信てタイミングが割とシビアだから向いてないんじゃないかな
C#だかで普通に組んだ方がいい
C#だかで普通に組んだ方がいい
2018/09/29(土) 11:44:52.37ID:uB91BfHo0
2018/09/29(土) 11:58:35.55ID:nRhxBX530
2018/09/29(土) 12:06:20.21ID:9zCrbxcF0
2018/09/29(土) 12:14:46.64ID:uB91BfHo0
2018/09/29(土) 15:17:34.87ID:EGxkwC/O0
2018/09/29(土) 16:58:53.65ID:uar3MmeK0
>>312
うーん、それならNode.jsとか使えばいいと思うが
うーん、それならNode.jsとか使えばいいと思うが
2018/09/29(土) 17:41:06.94ID:uB91BfHo0
316名無しさん@お腹いっぱい。
2018/09/30(日) 12:05:36.95ID:YRgRQu4702018/09/30(日) 18:31:08.73ID:xubnGesw0
実は、現在ファミコン風ジョイパッドのスイッチに
センサーをつなぎ、常駐 uwsc スクリプトで10回/s
ほどでポーリングしてるのです。
ジョイパッドのボタンを見る def_dll は
def_dll joyGetPos(uint, {uint, uint, uint, uint}):uint:winmm
# これは uwsc 掲示板で教えてもらいました
とりあえず、この程度のチンタラで良いのですが、
ジョイパッドの問題は、受信のみで送信ができない
こと。些細な問題はボタンのオンオフで Windowsが
ユーザ操作が発生したとして GetLastInputInfo の
値を更新してしまうこと。
これの置き換えとして性能は何ら問題なし。
もう少し粘って、回答なければ uwsc スクリプト
から通信 exe を呼ぶことにします。.js は好きく
ないので。
センサーをつなぎ、常駐 uwsc スクリプトで10回/s
ほどでポーリングしてるのです。
ジョイパッドのボタンを見る def_dll は
def_dll joyGetPos(uint, {uint, uint, uint, uint}):uint:winmm
# これは uwsc 掲示板で教えてもらいました
とりあえず、この程度のチンタラで良いのですが、
ジョイパッドの問題は、受信のみで送信ができない
こと。些細な問題はボタンのオンオフで Windowsが
ユーザ操作が発生したとして GetLastInputInfo の
値を更新してしまうこと。
これの置き換えとして性能は何ら問題なし。
もう少し粘って、回答なければ uwsc スクリプト
から通信 exe を呼ぶことにします。.js は好きく
ないので。
2018/10/01(月) 02:15:40.11ID:vl/DTYSO0
>>309 で挙がってる関数に関してですが
関数定義と、関数がどのDLLにあるかは
https://msdn.microsoft.com/ja-jp/library/cc429126.aspx
https://msdn.microsoft.com/ja-jp/library/cc429605.aspx
https://msdn.microsoft.com/ja-jp/library/cc429264.aspx
に書いてあります
DLLは全部 Kernel32.dll
引数に度々構造体へのポインタが登場しますが
構造体の定義は
LPXXX ならXXXのロングポインタなので調べる構造体はXXX
どの構造体もググれば出て来ます。
引数には
def_dll joyGetPos(uint, {uint, uint, uint, uint}):uint:winmm
のように{}に展開して書くだけです。
挙がってる関数で使われる構造体の中には特別変わった型はないのですべてコピペでOKです
その他の関数の引数にしても宣言の型をほぼそのままコピペできます
問題になりそうなのは3点です
次レスへ
つづく
関数定義と、関数がどのDLLにあるかは
https://msdn.microsoft.com/ja-jp/library/cc429126.aspx
https://msdn.microsoft.com/ja-jp/library/cc429605.aspx
https://msdn.microsoft.com/ja-jp/library/cc429264.aspx
に書いてあります
DLLは全部 Kernel32.dll
引数に度々構造体へのポインタが登場しますが
構造体の定義は
LPXXX ならXXXのロングポインタなので調べる構造体はXXX
どの構造体もググれば出て来ます。
引数には
def_dll joyGetPos(uint, {uint, uint, uint, uint}):uint:winmm
のように{}に展開して書くだけです。
挙がってる関数で使われる構造体の中には特別変わった型はないのですべてコピペでOKです
その他の関数の引数にしても宣言の型をほぼそのままコピペできます
問題になりそうなのは3点です
次レスへ
つづく
2018/10/01(月) 02:19:07.04ID:vl/DTYSO0
問題になりそうなのは3点です
1つめは
UWSC で DEF_DLL の説明にない型をどうするか
具体的には HANDLE で、これはポインタですがLONGで問題ないと思います
(心配ならDWORDに)
LPCTSTRは 変更されない文字列へのポインタでstringです
2つ目は
CreateFile()が実際にはDLLに存在しないことです。
なのでDEF_DLL CreateFile(... はエラーになります。
文字列や文字列のバッファを引数として持つ関数functionの実態は
ASCII/CP932用の functionA()とUTF-16LE用の functionW()です。
つまりCreateFile()として実際にあるのは
CreateFileA()とCreateFileW()です
これはVisual Studio などがあれば dumpbin /exports DLL名で確認できます。
ない場合は https://forest.watch.impress.co.jp/docs/review/748651.html のようなもので
3つ目は
ReadFile(),WriteFile()の
LPVOID をどうするかです
文字しかやりとりされないのであれば
DEF_DLL ReadFile(LONG, Var STRING, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
DEF_DLL WriteFile(LONG, STRING, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
のようにすれば楽なような気がしますが、
CRLFのような制御文字などがあることも考えると使えなさそうです
また0x00のようなデータがあればそこで切れてしまいます(たぶん)。
DEF_DLL ReadFile(LONG, Var BYTE, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
DEF_DLL WriteFile(LONG, BYTE, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
とかで1バイトずつ扱うのが安全なのかなという気がします
1つめは
UWSC で DEF_DLL の説明にない型をどうするか
具体的には HANDLE で、これはポインタですがLONGで問題ないと思います
(心配ならDWORDに)
LPCTSTRは 変更されない文字列へのポインタでstringです
2つ目は
CreateFile()が実際にはDLLに存在しないことです。
なのでDEF_DLL CreateFile(... はエラーになります。
文字列や文字列のバッファを引数として持つ関数functionの実態は
ASCII/CP932用の functionA()とUTF-16LE用の functionW()です。
つまりCreateFile()として実際にあるのは
CreateFileA()とCreateFileW()です
これはVisual Studio などがあれば dumpbin /exports DLL名で確認できます。
ない場合は https://forest.watch.impress.co.jp/docs/review/748651.html のようなもので
3つ目は
ReadFile(),WriteFile()の
LPVOID をどうするかです
文字しかやりとりされないのであれば
DEF_DLL ReadFile(LONG, Var STRING, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
DEF_DLL WriteFile(LONG, STRING, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
のようにすれば楽なような気がしますが、
CRLFのような制御文字などがあることも考えると使えなさそうです
また0x00のようなデータがあればそこで切れてしまいます(たぶん)。
DEF_DLL ReadFile(LONG, Var BYTE, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
DEF_DLL WriteFile(LONG, BYTE, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
とかで1バイトずつ扱うのが安全なのかなという気がします
2018/10/01(月) 03:21:20.20ID:/ij0nEcZ0
>>318-319
詳細な説明ありがとうございます!!!
とりあえず先に進められそうな気になってきました。
うまくいったらどの程度の性能が出たかご報告させていただきます。
一か月経ってもなんの報告もなかったら、試行錯誤のうえうまくいかずに断念したと思ってください。
詳細な説明ありがとうございます!!!
とりあえず先に進められそうな気になってきました。
うまくいったらどの程度の性能が出たかご報告させていただきます。
一か月経ってもなんの報告もなかったら、試行錯誤のうえうまくいかずに断念したと思ってください。
2018/10/01(月) 05:21:45.76ID:h1CowAvB0
0から99のパターンがあって、それぞれのパターンに合わせてSLCTBOXみたいなボタンで瞬時にマクロを動かしたいんだけど良い方法ない?
SLCTBOXは上限が31だった
SLCTBOXは上限が31だった
2018/10/01(月) 06:09:39.14ID:B2NAxaTU0
>>321
+SLCT_NUM
+SLCT_NUM
2018/10/01(月) 12:40:32.10ID:/ij0nEcZ0
>>321
ローカルディスク上に html でを好きなだけ
ボタン相当の文字列を並べる(リンクなし)。
ループで左ボタンのクリックを待つ
while 1
if GETKEYSTATE(VK_LBUTTON) then break
SLEEP(0.1)
wend
クリックした場所の文字列を読み取る
wi = GETID(GET_FROMPOINT_WIN)
cx = G_MOUSE_X - STATUS(wi,ST_CLX)
cy = G_MOUSE_Y - STATUS(wi,ST_CLY)
RESULT = POSACC(wi,cx,cy)
読み取った文字列に対応したマクロを起動する。
※ IE, EDGE でないと POSACC で読み取れない
html を uwsc マクロで書いても良い
ローカルディスク上に html でを好きなだけ
ボタン相当の文字列を並べる(リンクなし)。
ループで左ボタンのクリックを待つ
while 1
if GETKEYSTATE(VK_LBUTTON) then break
SLEEP(0.1)
wend
クリックした場所の文字列を読み取る
wi = GETID(GET_FROMPOINT_WIN)
cx = G_MOUSE_X - STATUS(wi,ST_CLX)
cy = G_MOUSE_Y - STATUS(wi,ST_CLY)
RESULT = POSACC(wi,cx,cy)
読み取った文字列に対応したマクロを起動する。
※ IE, EDGE でないと POSACC で読み取れない
html を uwsc マクロで書いても良い
2018/10/01(月) 20:44:26.92ID:KVBwIyHN0
html使うならCREATEFORMでname読み取らせるってのもある
.html
<input type="submit" name="No0" value="0を実行"></td>
<input type="submit" name="No99" value="99を実行"></td>
.uws
while 1
OBJ = CREATEFORM()
If OBJ="No0" Then "0の実行内容"
If OBJ="No99" Then "99の実行内容"
wend
相当端折ってるけどこんなん
レイアウトの自由度高いから処理済みのボタンは非表示にするとかタイムスタンプ付けるとかなら結構便利
.html
<input type="submit" name="No0" value="0を実行"></td>
<input type="submit" name="No99" value="99を実行"></td>
.uws
while 1
OBJ = CREATEFORM()
If OBJ="No0" Then "0の実行内容"
If OBJ="No99" Then "99の実行内容"
wend
相当端折ってるけどこんなん
レイアウトの自由度高いから処理済みのボタンは非表示にするとかタイムスタンプ付けるとかなら結構便利
2018/10/02(火) 00:33:31.51ID:VgjxG2wU0
uwsc でシリアル通信したがってる 301 ですが
とりあえず PC-PC 通信での中間報告。
まだ DEF_DLL まで行ってないのですが、データ
送信に関しては >>303 の仰る通り
// DOSCMDでシリアル送信できました
DOSCMD("echo hello com3>com3")
// またFPUTでも送信できました
fp = FOPEN("COM3",F_WRITE)
if fp < 0 then exit
for nn = 1 to 1000
FPUT(fp,"hello! "+nn)
next
FCLOSE(fp)
フロー制御無しで文字化けしてないので、多分
途中待ちなしでフル性能。
受信は DEF_DLL のお世話にならんとダメかな。
COM に対する _kbhit() みたいなのができれば
それでいけそうな気もしてるんだけど。
とりあえず PC-PC 通信での中間報告。
まだ DEF_DLL まで行ってないのですが、データ
送信に関しては >>303 の仰る通り
// DOSCMDでシリアル送信できました
DOSCMD("echo hello com3>com3")
// またFPUTでも送信できました
fp = FOPEN("COM3",F_WRITE)
if fp < 0 then exit
for nn = 1 to 1000
FPUT(fp,"hello! "+nn)
next
FCLOSE(fp)
フロー制御無しで文字化けしてないので、多分
途中待ちなしでフル性能。
受信は DEF_DLL のお世話にならんとダメかな。
COM に対する _kbhit() みたいなのができれば
それでいけそうな気もしてるんだけど。
326名無しさん@お腹いっぱい。
2018/10/02(火) 04:08:53.61ID:LRmiFoEY0 <com3
これは?
FPUTでいけるならFGETもいけるんじゃ?
これは?
FPUTでいけるならFGETもいけるんじゃ?
2018/10/02(火) 12:28:02.24ID:VgjxG2wU0
2018/10/02(火) 14:15:11.19ID:rDUYGu2A0
2018/10/02(火) 21:35:48.97ID:VgjxG2wU0
>>328
こんな USB シリアル↓の TXD と RXD をクロスしてつないでるだけだからハードウェアフロー制御は無いな。
https://www.amazon.co.jp/gp/product/B014VVPZT4/
実際、1行の文字列が長いと何故かデータが欠落する。
# まだ DEF_DLL に手が回ってません。
こんな USB シリアル↓の TXD と RXD をクロスしてつないでるだけだからハードウェアフロー制御は無いな。
https://www.amazon.co.jp/gp/product/B014VVPZT4/
実際、1行の文字列が長いと何故かデータが欠落する。
# まだ DEF_DLL に手が回ってません。
2018/10/03(水) 19:21:36.18ID:WIfuGIvk0
uwsc でシリアル通信したがってる 301 ですが
PC-PC 通信での中間報告第二弾。
とりあえずCでシリアル送受するだけの .exe を
作ったらこれが超快適に動作。
この .exe と uwsc スクリプトとがタスク間通信
するのと、.exe は使わずに DEF_DLL でシリア
ル通信するのとどっちがいいの?と悩み中。
DEF_DLL 使って .exe と通信するくらいなら、
.exe 使わず DEF_DLL 使ってシリアル通信し
た方が無駄がないよね、みたいなところで、
これが最終報告になるかもしれません。
ではでは。
PC-PC 通信での中間報告第二弾。
とりあえずCでシリアル送受するだけの .exe を
作ったらこれが超快適に動作。
この .exe と uwsc スクリプトとがタスク間通信
するのと、.exe は使わずに DEF_DLL でシリア
ル通信するのとどっちがいいの?と悩み中。
DEF_DLL 使って .exe と通信するくらいなら、
.exe 使わず DEF_DLL 使ってシリアル通信し
た方が無駄がないよね、みたいなところで、
これが最終報告になるかもしれません。
ではでは。
2018/10/04(木) 21:30:31.04ID:HBteGH1L0
.exe とかアホみたいにしか見えん
2018/10/04(木) 22:56:14.06ID:YhQ0gU0C0
.exe がアホに見えるなら、オマエの PC から .exe ファイル全部消しちゃいなよ。
2018/10/05(金) 09:29:44.85ID:pSK3o0iN0
お前なんでもかんでも拡張子で物言うの?
.txt とか .uws とか.docとか言ってるわけ?
.txt とか .uws とか.docとか言ってるわけ?
334名無しさん@お腹いっぱい。
2018/10/05(金) 16:59:07.87ID:YBEO+Dj+0 csv とか普通に言うけど
2018/10/05(金) 18:24:11.68ID:CEpw7DNT0
EXEも普通に言うだろ
336名無しさん@お腹いっぱい。
2018/10/05(金) 18:33:38.32ID:YBEO+Dj+0 GIFも言うかな
2018/10/05(金) 19:35:25.52ID:yDeRarlV0
ワード文書で送るよ、ポータブル・ドキュメント・フォーマットで送るよなんて聞いたことがない
DOC で送るよ PDF で送るよ、が標準だろ。それが分からなければ情弱と思われるぜ。
DOC で送るよ PDF で送るよ、が標準だろ。それが分からなければ情弱と思われるぜ。
2018/10/05(金) 19:36:39.27ID:fehx7ZaA0
zipでくれ
2018/10/05(金) 19:39:39.30ID:yDeRarlV0
333 フルボッコw
2018/10/05(金) 19:42:26.09ID:Fomgot2i0
まあ.は付けないけとzipとかmp4とかは普通に使うわ
2018/10/05(金) 19:45:45.88ID:F0hvvgZN0
君ら普段から ドットエグゼ 起動して下さいとか会話してんの?
コンパイルして ドットエグゼ 作りますとか…は言うな
でも普通はアプリケーションとか実行ファイルって言うと思うな、文章でもね
>>330は .exe 連呼しすぎでちょっと気持ち悪いなとは思う
自作アプリ とかにしたら分かりやすいけどやっぱ繰り返しすぎなところが気にはなるかも
コンパイルして ドットエグゼ 作りますとか…は言うな
でも普通はアプリケーションとか実行ファイルって言うと思うな、文章でもね
>>330は .exe 連呼しすぎでちょっと気持ち悪いなとは思う
自作アプリ とかにしたら分かりやすいけどやっぱ繰り返しすぎなところが気にはなるかも
342名無しさん@お腹いっぱい。
2018/10/05(金) 19:53:07.68ID:YBEO+Dj+0 >>341
アプリケーションにはデータファイルや設定ファイル、実行ライブラリやサンプルデータ、画像データそのたもろもろが全部含まれるから
いちいち拡張子を列挙できないだけ。
お前が言うアプリって setup.exe の事だろ。
スクリプト業界だとスクリプトファイル(テキストファイル)をアプリとか言ったりするから、.exe ファイルの事を必ずしも意味しない。
例えば印刷アプリの合わせ名人とかラベル屋さんとかは
Adobe AIR のスクリプトが実体だと思うけど
アプリケーション扱いだろ?知らんけど。
アプリケーションにはデータファイルや設定ファイル、実行ライブラリやサンプルデータ、画像データそのたもろもろが全部含まれるから
いちいち拡張子を列挙できないだけ。
お前が言うアプリって setup.exe の事だろ。
スクリプト業界だとスクリプトファイル(テキストファイル)をアプリとか言ったりするから、.exe ファイルの事を必ずしも意味しない。
例えば印刷アプリの合わせ名人とかラベル屋さんとかは
Adobe AIR のスクリプトが実体だと思うけど
アプリケーション扱いだろ?知らんけど。
2018/10/05(金) 20:43:29.12ID:F0hvvgZN0
2018/10/05(金) 23:49:42.66ID:8Wlziqfo0
きりがないから
2018/10/06(土) 10:17:00.50ID:DElDuJso0
> 知らんけど。
この一言が全てを語ってる。というか騙ってる。
この一言が全てを語ってる。というか騙ってる。
2018/10/06(土) 10:47:38.35ID:VgMIIG0L0
ロックマンエグゼ
2018/10/06(土) 12:01:12.78ID:IheiwJZo0
.jpg.exe
2018/10/06(土) 19:10:27.95ID:6VTUoetw0
昔Jpg偽装するツールよく使ってたわ。
2018/10/06(土) 20:57:23.61ID:VgMIIG0L0
jpegdirectannexな
2018/10/06(土) 21:08:45.28ID:CGlnfwZq0
jpg偽装と言えば昔懐かしいラブマちゃうのん
2018/10/07(日) 12:36:19.98ID:6fuP4Qv60
uwsc でシリアル通信したがっていた 301 ですが
昨晩 DEF_DLL に挑戦し双方向通信が完成しました。
性能的にも(そもそもシリアルは遅いですから)
実用上、全く問題ありません。
これにより、C で作った .exe は不要になり、
.uws だけで生きていけるよになりました。
# .exe は発音上ドットはつけず、イグゼです。
# .uws は心の中でウワスと発音していますが、
# Win10 の SPEAK() はウウォズと発音しますね。
以下いくつかの点ですが、HANDLE を LONG にする
と、エラー時 -1 が戻りましたが、DWORD にすると
$FFFFFFFF が戻るという些細な違いがありましたの
で LONG で FIX しました。
DEF_DLL WriteFile はちょっと嵌りましたが、2個目
のパラメータを STRING にしたらうまくいきました。
受信は1バイトずつですが、送信は STRING ついでに
複数バイトをWriteFile 送出するようにしました。
関数に引き渡す構造体のポインタを NULL にする
方法が分かりませんでしたが、これは必須条件では
ないので、適当な実体を渡すようにしました。
>>318-319 の詳細説明を書いていただいた方には
改めでお礼申し上げます。
以上最終報告でした。
昨晩 DEF_DLL に挑戦し双方向通信が完成しました。
性能的にも(そもそもシリアルは遅いですから)
実用上、全く問題ありません。
これにより、C で作った .exe は不要になり、
.uws だけで生きていけるよになりました。
# .exe は発音上ドットはつけず、イグゼです。
# .uws は心の中でウワスと発音していますが、
# Win10 の SPEAK() はウウォズと発音しますね。
以下いくつかの点ですが、HANDLE を LONG にする
と、エラー時 -1 が戻りましたが、DWORD にすると
$FFFFFFFF が戻るという些細な違いがありましたの
で LONG で FIX しました。
DEF_DLL WriteFile はちょっと嵌りましたが、2個目
のパラメータを STRING にしたらうまくいきました。
受信は1バイトずつですが、送信は STRING ついでに
複数バイトをWriteFile 送出するようにしました。
関数に引き渡す構造体のポインタを NULL にする
方法が分かりませんでしたが、これは必須条件では
ないので、適当な実体を渡すようにしました。
>>318-319 の詳細説明を書いていただいた方には
改めでお礼申し上げます。
以上最終報告でした。
2018/10/07(日) 13:14:08.98ID:gNO0xipb0
このスレでゲームの質問がウザがられるのはわかってる
ただどうしてもこれだけ知りたいんだ どうか教えてほしい
DMM版プリコネでどうしてもuwscが走らないんだ
何かしらの対策を講じてるのかウィンドウを認識しない
一体これはどうしたらいいんだろう?
個別のゲーム名出すくらいドン詰まっててもうギブアップ助けてください
ただどうしてもこれだけ知りたいんだ どうか教えてほしい
DMM版プリコネでどうしてもuwscが走らないんだ
何かしらの対策を講じてるのかウィンドウを認識しない
一体これはどうしたらいいんだろう?
個別のゲーム名出すくらいドン詰まっててもうギブアップ助けてください
2018/10/07(日) 13:37:49.20ID:Gr4JIhHl0
>>352
プリコネ知らないけど仮想PC経由でやってみては?
プリコネ知らないけど仮想PC経由でやってみては?
2018/10/07(日) 13:43:20.10ID:v5tBqZHH0
オレはプリコネってだいたい想像はつくけど
質問する立場なのに略称を使うのはどうかと思うぞ
質問する立場なのに略称を使うのはどうかと思うぞ
355名無しさん@お腹いっぱい。
2018/10/07(日) 13:47:50.46ID:WRvOyMxd0 ウザがられると知っていてなお個別のゲーム名すら出す潔さにワロタ
なのでマジレスするが、ウィンドウ認識しないってんなら
ちゃんとuwscを管理者権限で実行してるか?
なのでマジレスするが、ウィンドウ認識しないってんなら
ちゃんとuwscを管理者権限で実行してるか?
2018/10/07(日) 16:11:46.62ID:cmX5xkPf0
>>352
ここはゲームマクロスレじゃねえぞカス消えろ
ここはゲームマクロスレじゃねえぞカス消えろ
2018/10/07(日) 16:39:33.40ID:lPvBSPqI0
何かしらの対策を講じられてるんだろうから
どうしようもないんだろう
どうしようもないんだろう
2018/10/07(日) 16:44:28.54ID:ZcFrVd430
あきらメロン
2018/10/07(日) 16:53:36.13ID:v5tBqZHH0
2018/10/07(日) 16:54:31.52ID:cmX5xkPf0
ゲームの話したいならゲームスレ立てろチートカスども
361名無しさん@お腹いっぱい。
2018/10/07(日) 17:29:19.93ID:AczQNJ/F0 プリコネよりエグゼドエグゼスの方が面白いぞ
2018/10/07(日) 22:12:26.94ID:l1rUxRGW0
口汚く罵りたいなら性格悪いやつ用スレ立ててそっちでやればいいのに
2018/10/08(月) 17:28:19.92ID:c3AQc4+E0
スクショ取得→ペイント起動→貼り付け→ペイント最小化の動きが2秒以下でできて凄いわ
今までスクショ撮る為だけにソフトいれてたけどUWSCあれば要らないな
今までスクショ撮る為だけにソフトいれてたけどUWSCあれば要らないな
2018/10/08(月) 18:00:29.36ID:swvpR35M0
>>363
そもそもスクショ撮りたいだけならsaveimg使えばいいしな
そもそもスクショ撮りたいだけならsaveimg使えばいいしな
2018/10/08(月) 18:27:31.08ID:ZQnp75cv0
UWSC使ってるのにわざわざペイント経由する意味ある?
2018/10/08(月) 19:22:10.10ID:q6wGz54s0
whileとrepeatどっちの方が使うこと多い?俺はメインループにwhile使って細かいループにrepeat使うんだが
2018/10/08(月) 19:23:14.85ID:3W1dOUPa0
2018/10/08(月) 19:28:06.72ID:c3AQc4+E0
2018/10/08(月) 19:32:04.55ID:psu8l3Ri0
>>366
初回だけここはループの最後に判定したいからrepeatかな、とかやってみたけど
なんの意味もないなあ…と思ったから後はwhileしか使ってないw
repeatとか使ってる例もほぼ見ないしrepeatでないと困ることなんてないだろ、逆はあっても
初回だけここはループの最後に判定したいからrepeatかな、とかやってみたけど
なんの意味もないなあ…と思ったから後はwhileしか使ってないw
repeatとか使ってる例もほぼ見ないしrepeatでないと困ることなんてないだろ、逆はあっても
2018/10/08(月) 19:38:11.83ID:q6wGz54s0
>>369
確に条件が整っててもループ内の処理を1度はやるなんてことほぼ無いしなあ
癖でrepeatばっかり書いてるけどそもそもループの初回はほぼ確実にループする条件に当てはまるからどっちでもいいんだよな
確に条件が整っててもループ内の処理を1度はやるなんてことほぼ無いしなあ
癖でrepeatばっかり書いてるけどそもそもループの初回はほぼ確実にループする条件に当てはまるからどっちでもいいんだよな
2018/10/08(月) 19:59:05.63ID:psu8l3Ri0
癖か…俺の場合chkimgとの組合せ以外だとほぼwhile trueでしか使ってないから偉そうなことは言えないw
2018/10/08(月) 20:11:48.45ID:q6wGz54s0
>>371
俺も似たようなもんだけど強いて言えば事前にPublicで変数を定義して並列処理で経過時間を計測、それを1回は処理したいループの脱出条件に入れるとかだな
俺も似たようなもんだけど強いて言えば事前にPublicで変数を定義して並列処理で経過時間を計測、それを1回は処理したいループの脱出条件に入れるとかだな
2018/10/08(月) 22:02:01.60ID:2zvrTpuN0
>>366
俺は単に if や for で済むようなところでも、まず while 1 と
書いてから続きを考えることもある while 1 主義者。
if で始めてリトライが必要になると結局 while (等)に直さなく
ちゃならないからな。で、break で抜けるか、repeat でリトライ
するか exit で終わるか。最後の break 忘れてたまに永久
ループするが、自分のルール決めとくと色々と楽。
俺は単に if や for で済むようなところでも、まず while 1 と
書いてから続きを考えることもある while 1 主義者。
if で始めてリトライが必要になると結局 while (等)に直さなく
ちゃならないからな。で、break で抜けるか、repeat でリトライ
するか exit で終わるか。最後の break 忘れてたまに永久
ループするが、自分のルール決めとくと色々と楽。
2018/10/08(月) 22:24:43.99ID:psu8l3Ri0
1回しか処理しないwhileループ(ループしないんだけど)は結構使う
goto気分なんで作法としては良くないんだと思うw
goto気分なんで作法としては良くないんだと思うw
2018/10/08(月) 22:43:11.57ID:q6wGz54s0
>>373
俺も最初はwhileでやってたんだけど最初に条件書いて後からこれ無理じゃんって書き直すのが面倒になってrepeat使い始めたんだよなあ
結局whileもrepeatも殆ど同じだし好みでやれって感じなんだけどもね
俺も最初はwhileでやってたんだけど最初に条件書いて後からこれ無理じゃんって書き直すのが面倒になってrepeat使い始めたんだよなあ
結局whileもrepeatも殆ど同じだし好みでやれって感じなんだけどもね
2018/10/09(火) 01:39:35.93ID:jgOpUMsF0
while 1
の次の行に break と書けば
wend までがコメント扱いになるしな
あ、repeat 〜 until 0 なら完全に同じか
の次の行に break と書けば
wend までがコメント扱いになるしな
あ、repeat 〜 until 0 なら完全に同じか
2018/10/09(火) 13:01:50.38ID:1WZBuseG0
ループじゃなくてエラー抜けしたい処理を repeat 〜 until true で括って
breakでエラー抜けさせられるのが便利かなとおもったり
breakでエラー抜けさせられるのが便利かなとおもったり
2018/10/09(火) 13:09:25.22ID:E077VohF0
バッドノウハウ
2018/10/09(火) 13:15:51.55ID:veqitIsJ0
取り敢えず試行して結果ダメならもう一回 → repeat
条件判定してやるべきことがあり、失敗がある場合 → while
条件が連番 → for if
普通こうだろ?
while 1 は条件認識に失敗してもう一度やってしまう可能性があるから、2回やってはダメな作業ではやるべきではないと思う
キー入力は処理が終わった後 while getkey(vk_???); wend を入れると2重操作しなくなるので個人的にお勧め
条件判定してやるべきことがあり、失敗がある場合 → while
条件が連番 → for if
普通こうだろ?
while 1 は条件認識に失敗してもう一度やってしまう可能性があるから、2回やってはダメな作業ではやるべきではないと思う
キー入力は処理が終わった後 while getkey(vk_???); wend を入れると2重操作しなくなるので個人的にお勧め
2018/10/09(火) 18:11:53.51ID:J8eUxq4a0
2018/10/09(火) 20:23:07.69ID:YfsIcBb90
仕事とかでコーディング規則とかうるさいならまぁ意識するけど
uwscなんて自分で半分趣味でやってるからrepeatだろうがwhileだろうが全然気にしてないわ
uwscなんて自分で半分趣味でやってるからrepeatだろうがwhileだろうが全然気にしてないわ
2018/10/09(火) 20:43:04.20ID:2Jw3VGRi0
仕事や規則(規約)じゃないからこそ自分好みに拘るのが楽しいんだがな
毎度変わるのはまだ量が不足してんじゃないか?
毎度変わるのはまだ量が不足してんじゃないか?
2018/10/09(火) 20:45:50.92ID:YfsIcBb90
そんなん人それぞれ
自分の考えが全て他人に当てはまるもんじゃないんだよ
自分の考えが全て他人に当てはまるもんじゃないんだよ
2018/10/09(火) 20:47:38.91ID:sFsF0+bo0
俺もそう思うね
好き勝手できるからこそ拘れる喜び
ポリシーの見えない無秩序なコードは下だな
好き勝手できるからこそ拘れる喜び
ポリシーの見えない無秩序なコードは下だな
2018/10/09(火) 21:02:41.78ID:SHfDBLWX0
UWSってVSでコーディングできる?
386名無しさん@お腹いっぱい。
2018/10/09(火) 21:15:17.11ID:qz/r21PC0 趣味でやってるもんに上も下もねえだろ
なんですーぐマウントとりだすかね…
仕事で無秩序なコード見せられたら確かにキレるけどさ
なんですーぐマウントとりだすかね…
仕事で無秩序なコード見せられたら確かにキレるけどさ
2018/10/09(火) 21:20:46.10ID:2Jw3VGRi0
2018/10/09(火) 21:39:30.87ID:SHfDBLWX0
>>387
こりゃいいね あり
こりゃいいね あり
2018/10/10(水) 09:39:07.87ID:wB0Sw+5m0
UWSCのバグなのか良くわかりませんが、
Thread あいうえお(1)
Procedure あいうえお(A)
select A
case 1
処理
case 2
処理
のようにし、普通に動くんですが、稼働し続けると1週間に1回とか、1ヶ月に1回ぐらい、
select A の行を指して、オーバーフローor型の不一致エラーが出ます。関数のカッコの中は正数のみ指定していて、変数などは渡していません。
なにか対処方法はありますでしょうか?
また、もうひとつUWSCを起動して、メインUWSCのステータスを定期的に取得して監視してるのですが、上記のエラーで停止していても当然ながら正常のステータスしか返ってきません。
エラーのメッセージが出て停止していることを、別のUWSCから検出する方法はありますでしょうか?(メッセージボックス自体の画像認識以外で)
Thread あいうえお(1)
Procedure あいうえお(A)
select A
case 1
処理
case 2
処理
のようにし、普通に動くんですが、稼働し続けると1週間に1回とか、1ヶ月に1回ぐらい、
select A の行を指して、オーバーフローor型の不一致エラーが出ます。関数のカッコの中は正数のみ指定していて、変数などは渡していません。
なにか対処方法はありますでしょうか?
また、もうひとつUWSCを起動して、メインUWSCのステータスを定期的に取得して監視してるのですが、上記のエラーで停止していても当然ながら正常のステータスしか返ってきません。
エラーのメッセージが出て停止していることを、別のUWSCから検出する方法はありますでしょうか?(メッセージボックス自体の画像認識以外で)
2018/10/10(水) 10:41:57.80ID:DzrUE3kS0
どんな文書いてるかが分からんからあれだけどAに入る値が無い場合だとそのエラーが起こる
()内の正数を決める部分でエラー起こしちゃってるんじゃないかな?
()内の正数を決める部分でエラー起こしちゃってるんじゃないかな?
2018/10/10(水) 10:44:16.54ID:6jl6islu0
2018/10/10(水) 11:25:17.04ID:2edAkwH40
if文を処理の途中で中断させるにはどうすればいいですか?
UWSC自体を停止や、終了は無しでお願いします
UWSC自体を停止や、終了は無しでお願いします
2018/10/10(水) 11:31:21.21ID:B7BaAdq60
2018/10/10(水) 12:10:38.69ID:HOdIOtwN0
>>390
スクリプトのあちこちから、
Thread あいうえお(3)
とか、
Thread あいうえお(5)
とかで呼び出してます。
数値無しで呼び出してる箇所はありません。
ずーっと繰り返してるマクロなので、稼働1週間とかでエラーが出るのが謎過ぎです笑
スクリプトのあちこちから、
Thread あいうえお(3)
とか、
Thread あいうえお(5)
とかで呼び出してます。
数値無しで呼び出してる箇所はありません。
ずーっと繰り返してるマクロなので、稼働1週間とかでエラーが出るのが謎過ぎです笑
2018/10/10(水) 12:14:19.42ID:wB0Sw+5m0
>>391
なるほど〜
実は全体が4000行ぐらいあって、こういうのが週1とか月1で発生してて、毎回発生箇所がバラバラなので、発生の度にその箇所をしらみ潰しにエラー回避処理するのはなかなか骨がおれるんです笑
なるほど〜
実は全体が4000行ぐらいあって、こういうのが週1とか月1で発生してて、毎回発生箇所がバラバラなので、発生の度にその箇所をしらみ潰しにエラー回避処理するのはなかなか骨がおれるんです笑
2018/10/10(水) 16:05:36.97ID:Siswhpib0
>>379
>while getkey(vk_???); wend
ああ、こう書けばキー入力した状態が残るの100%防げるんだ
思考停止でSLEEP挟んで物理的に時間取ってたわ
WHILE TRUE
IFB GETKEYSTATE(VK_???)
SLEEP(0.1)
ELSEIF GETKEYSTATE(VK_???)
SLEEP(0.1)
ELSE
BREAK
Endif
WEND
ほんでこんな関数作って挟んだらいいのかな全部置換しよ
>while getkey(vk_???); wend
ああ、こう書けばキー入力した状態が残るの100%防げるんだ
思考停止でSLEEP挟んで物理的に時間取ってたわ
WHILE TRUE
IFB GETKEYSTATE(VK_???)
SLEEP(0.1)
ELSEIF GETKEYSTATE(VK_???)
SLEEP(0.1)
ELSE
BREAK
Endif
WEND
ほんでこんな関数作って挟んだらいいのかな全部置換しよ
2018/10/10(水) 16:09:28.03ID:DzrUE3kS0
vk_???の???に変数入れることって出来ない?inputで手に入れた文字を入れたいんだけど
2018/10/10(水) 16:21:34.69ID:02J1kihP0
key = "VK_" + ????
GETKEYSTATE(key)
でできない?試したことないけど
GETKEYSTATE(key)
でできない?試したことないけど
2018/10/10(水) 16:23:07.09ID:PXd4h0yU0
2018/10/10(水) 16:33:28.82ID:DzrUE3kS0
2018/10/10(水) 16:40:50.61ID:PXd4h0yU0
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】東京・足立区のひき逃げ事故 警視庁が運転手とみられる人物確保 80代男性の死亡確認、20代女性心肺停止 ★3 [Ailuropoda melanoleuca★]
- 【速報】東京・足立区のひき逃げ事故 警視庁が運転手とみられる人物確保 心肺停止の2人は20代女性と80代男性 ★2 [Ailuropoda melanoleuca★]
- 【国防】衝撃を与えた米シンクタンクの「台湾侵攻シミュレーション」日本の被害は? [1ゲットロボ★]
- 【東京】乗用車が歩行者をはね11人ケガ、うち2人重体 現場に残されたセダンの運転手が衝突後に逃走…ひき逃げ事件として捜査 足立 [ぐれ★]
- 【宅急便】ヤマト運輸がベトナム人ドライバー500人採用…不安視される「運転技術」「コミュニケーション」「助成金」 ★2 [シャチ★]
- スペイン、移民受け入れで成長 1人当たりGDP日本超え ★3 [蚤の市★]
- 高市早苗、国際会議で全然会話せず速攻で帰国か。「米連邦議会」で働いてた経験もあるのになぜ?😲 [861717324]
- 【高市悲報】日本人、足立区11人ひき逃げ犯の国籍で大荒れwwwwwwwwwwwwwwwwwwwwww [316257979]
- 琉球人「もう!日本人(やまとんちゅ)はもっとナーベーラー(へちま)を食べて☺!」東京で普及会 刺身などでふるまう [377482965]
- 高市応援団「国連の常任理事国は中華民国(台湾)で中国は常任理事国じゃない」急速に広がる🙀 [931948549]
- ぽこちんで出来た🏡
- さゆりんご「若者は高市さんのおかげで政治見るようになった。メローニさんとハグとか、そういう頑張ってるのが見えるのがすごい素敵」 [256556981]
