[ 掲示板に戻る ]

過去ログ閲覧モード

機能の問い合わせ / 川口晶夫
とても素晴らしいソフトを有難う御座います。

スケジュールされている設定の起動時間を変更する目的で
外部から設定ファイル(uwsc.ini)を編集したいのですが
有効にならないようです、どの様にしたらよろしいでしょうか?

対象となるマシンが複数台(100台ほど)有り、一斉に起動時間の
変更を行いたいのですが、個別に再起動する必要が有るのでしょうか?。

No.614 2014/12/20(Sat) 17:42:01

Re: 機能の問い合わせ / Nagatani
私なら、下記のスクリプト2行を変更したいパソコンへセットします。
下記OSはWindows7の場合です。

DOSCMD("COPY C:\INI保存元\UWSC.INI C:\Users\ユーザー名\AppData\Roaming\UWSC")
POFF(P_UWSC_REEXEC)

No.615 2014/12/20(Sat) 20:48:25

Re: 機能の問い合わせ / 川口
Nagataniさんへ
ご回答ありがとうございました
再スタートが自分自身で出来るのですね了解しました。

でも個別のPCでそれぞれ設定する必要が有る・・・
遠隔操作で再起動は仕掛けられないのでしょうか?

ま遠隔操作できるのであればスケジューリングする
必用も無いかと思いますが、なんせ数が多いため
なんとか手放しでする方法を探っております。

遠隔操作の方法等ありましたらご教授いただければ
よろしくお願いいたします。

No.625 2014/12/21(Sun) 22:11:29

Re: 機能の問い合わせ / Nagatani
皆さんが共有のサーバー等で繋がっているなら可能性はありまあすが
私の知識では「鶏が先か卵が先か」の話です。
今後更新を続けるならサーバーに新しい「UWSC.INI」を保存して各自のパソコンが起動したときにサーバーとローカルのUWSC.iniを比較してサーバー側が新しければコピーしてUWSCを再起動させる方法ですが、最初に100台セットが必要ですね!
全員のIDとパスワードが分かればUWSCを使って処理ますが残念ながらお教えできません。

//更新日で確認
DIM O_FS,S_File[2],O_File[2],S[2],Flug[2]
O_Fs = CreateOleObj("Scripting.FileSystemObject")

////////////////////////
/////////ローカル側
Flug[1]=FOPEN("C:\Users\xxxxxxxx\AppData\Roaming\UWSC\UWSC.INI",F_EXISTS)
IF ( Flug[1] = True) THEN
S_File[1] = "C:\Users\xxxxxxxx\AppData\Roaming\UWSC\UWSC.INI"
O_File[1] = O_Fs.GetFile(S_File[1])
S[1] = O_File[1].DateLastModified
ENDIF

//////////////////////
//////////サーバー側
Flug[2]=FOPEN("C:\データ\UWSC.INI",F_EXISTS)
IF ( Flug[2] = True) THEN
S_File[2] = "C:\データ\UWSC.INI"
O_File[2] = O_Fs.GetFile(S_File[2])
S[2] = O_File[2].DateLastModified
ENDIF

/////////////////////
///ローカルとサーバーの更新日の比較
IF (Flug[1] = False AND Flug[2] = True) THEN
//UWSC.INIファイルがないことはありえない
//FUKIDASI("C:\Users\xxxxxxxx\AppData\Roaming\UWSCにINIファイルがないのでサーバーからコピーします。")
//DOSCMD("COPY Server:\UWSC\UWSC.INI C:\Users\xxxxxxxx\AppData\Roaming\UWSC\UWSC.INI")
ELSEIF S[1] < S[2] THEN
FUKIDASI("サーバーからC:\Users\xxxxxxxx\AppData\Roaming\UWSCへコピーします。")
DOSCMD("COPY C:\データ\UWSC.INI C:\Users\xxxxxxxx\AppData\Roaming\UWSC\UWSC.INI")
POFF(P_UWSC_REEXEC)
ELSEIF S[1] = S[2] THEN
FUKIDASI("サーバーとC:\データ\Accessは一緒でした。")
ENDIF
SLEEP(1)
FUKIDASI()

上記スクリプトはサイトで教えていただいた内容です。参考にしてください。

No.630 2014/12/23(Tue) 17:52:06

Re: 機能の問い合わせ / 川口
Nagataniさんへ
ご回答ありがとうございました
遠隔操作の例ではない・・・ >< ^^;
今回は人海戦術で作業を完了させましたが、やはり
次回は遠隔操作で実施させたいので、また別の方法を探してみます
ありがとうございました、
お礼が遅くなりまして済みませんでした。

No.645 2014/12/28(Sun) 16:18:47

Re: 機能の問い合わせ / Nagatani
使ったことありませんが下記で接続操作できるはずです。

http://support.microsoft.com/kb/879123/ja

No.646 2014/12/28(Sun) 19:23:19

Re: 機能の問い合わせ / 川口
Nagataniさんへ
ツールのご紹介ありがとうございました
でもGUIでは・・・ ><
BATとかで自動化したいんです
コマンドラインから遠隔操作出来ないとBATに組み込めない
と思ってるんですけど・・・

No.647 2014/12/29(Mon) 08:41:01

Re: 機能の問い合わせ / stuncloud
ActiveDirectory管理下にあるのならばログオンスクリプトあたりで一発という感じですね

>今回は人海戦術で作業を完了
その際にNagataniさんがNo.630で提示されたような仕組みを組み込んだスクリプトに差し替えられれば、次回からは手間がかからなかったのでは…?
ただ、このようにUWSC.INIをそっくり入れ替えてしまうと支障がある可能性もあるので、READINI、WRITEINIを使ったほうが良いとは思います

No.651 2014/12/29(Mon) 17:55:18
free版ですがヘルプが表示されません / 西山久生
free版ですがヘルプが表示されません。 どうすればよいかを教えてください。
是非 将来とも活用したいので よろしくお願いいたします。

視覚障害者用のツールを開発しとります。

No.649 2014/12/29(Mon) 17:39:08

Re: free版ですがヘルプが表示されません / stuncloud
これを試してみてください
http://www.uwsc.info/faq.html#n3

No.650 2014/12/29(Mon) 17:46:04
他プロセスのメモリ操作 / フェンリル
いつもお世話になっております。

現在、他プロセスのメモリをUWSCから参照および操作をできないかと考えています。
しかしながら、私の勉強不足で具体的な手段について調べることさえ満足に行えなかったため、この場で質問させていただきました。

目標としては、他プログラムの保持しているデータを取得して加工、表示することを考えています。

よろしくお願いします。

No.637 2014/12/26(Fri) 02:28:07

Re: 他プロセスのメモリ操作 / satocha
質問の意味が他プロセスと共有メモリで情報をやりとりしたいという話でしたら、しろまささんのサンプル
http://siromasa.digi2.jp/uwsc/u_sample/index.html
にコードがあります。

他プログラムが出来合いの別物で、そのプロセスが抱えているメモリ内容を操作したいということでしたら、defdllでkernel32を叩き、readprocessmemory、writeprocessmemoryでメモリのやりとりをする感じでしょうか。

PowerShell Code Repositoryというサイトでよさげなコードを見つけました。このソースが参考になると思います。
http://poshcode.org/3859

キモの部分は104行以下。ただ、チート対策が施されたゲームなどでは、うまくいかないかもしれません。

と、ここまで書いたところで晴天さんのスクリプト

http://park14.wakwak.com/~simizu/cgi-bin/uwscbbs2/cocoqa.cgi?log=31

を見つけました。「以前umiumiさんの所の掲示板でいりやさんに手取り足取り教えて頂いたスクリプトです」とあるので、過去ログにあるかも。

No.641 2014/12/27(Sat) 15:51:44

Re: 他プロセスのメモリ操作 / フェンリル
助かりました。最後のHPのスクリプトでなんとかなりそうです。
過去ログは一通り調べたつもりだったのですが、もう一度調べなおしてみます。

ありがとうございました。

No.648 2014/12/29(Mon) 16:16:38
掲示板検索ツールでエラー / yanyan
検索後のリンクページを開くと下記エラーメッセージがでます。
よろしくお願いします。
------------------------------------
COM_Error:アクセスが拒否されました。
256行目: IE.Document.location.reload()
------------------------------------
環境
Win7 ビルド7601 64bit
UWSC Pro5.0.4.0
IE バージョン 11.0.9600.17501 更新バージョン11.0.15(KB3008923)
プライバシーレベル 中

No.617 2014/12/20(Sat) 21:51:47

Re: 掲示板検索ツールでエラー / umiumi
確認しました。
Windows Update KB3025390 のせいです。
IEのダイアログボックス関連の不具合修正という事であり、セキュリティの為ではないのでエンバグぽっく
どうしたものか

No.618 2014/12/21(Sun) 02:32:14

Re: 掲示板検索ツールでエラー / satocha
KB3025390は、このツール以外にもいろいろ問題を引き起こしているようです。2番目のサイトにアンインストール方法が書かれています。このパッチ自体、別のパッチの不具合解消目的なんだけど、さらにパッチが出てくるかも。

http://imacros.net/microsoft-update-for-ie11-kb3025390-breaks-tag-command-in-imacros-for-ie
http://secunia.com/blog/known-issues-with-kb3025390-and-csi-7-plugin-414
https://code.google.com/p/selenium/issues/detail?id=8302
http://www.sevenforums.com/windows-updates-activation/355680-question-about-kb3025390-update.html

No.644 2014/12/28(Sun) 09:52:15
QSortの不具合? / mパパ
初めて書き込みます。いつもUWSC proを使っていて大変重宝しています。

QSortを使って複数の配列を連動してソートさせた時に、ソート後の配列データが一部おかしくなる症状が出ていまして、アドバイスいただければ幸いです。

Windows7 Professional sp1 32bitを使用しています。

症状の例ですが、次のようなプログラムを実行させました。

FileID = FOPEN("ファイル名", F_WRITE8 or F_READ or F_NOCR or F_TAB)
gyou = FGET(FileID,F_LINECOUNT)

n = 0
dim Vars[4][gyou -1]
for m = 2 to gyou
Vars[0][n] = FGET(FileID,m,1) + "<#TAB>" + FGET(FileID,m,2) + "<#TAB>" + FGET(FileID,m,3)
Vars[1][n] = FGET(FileID,m,5)
Vars[2][n] = FGET(FileID,m,4)
Vars[3][n] = FGET(FileID,m,1) + "__" + FGET(FileID,m,6)
n = n + 1
next
FCLOSE(FileID)

QSort(Vars[3],1,Vars[1],Vars[2])

この後、ソート後の配列の値を
Vars[3][n] + ":" + Vars[1][n] + ":" + Vars[2][n] + "<#CR>"
という形でクリップボードやファイルなどに出力させますと
1部の配列の値がおかしなものがでてきます。


正常な配列の値の例
1行目 A0060tao022s__M:1:3999.0
2行目 A0011tao033__F:1:1999.0

異常な配列の値
X行目 CA0011tao033 B00I682BNM Vars[0][A]の値 :A0060tao022s Vars[0][B]の値(AとBは違う数値)

上記のように、他の配列の値が混じったものが出てきます。
データ数は約100個ほどです。

連動ソートを行なう方法が間違っているのでしょうか?

No.638 2014/12/26(Fri) 10:12:59

Re: QSortの不具合? / umiumi
問題を確認できません。
恐らく実際のスクリプトはもっと複雑であり、別の問題なのでは。
もっとスクリプト、データーを単純化して確認してみてください。
または確認できるスクリプト、データーの提示をお願いします。

No.640 2014/12/27(Sat) 01:34:53

Re: QSortの不具合? / mパパ
umiumi様、回答ありがとうございます。
アドバイスをもとに確認しましたところ、
上に書いたスクリプトよりも前の部分で
dim Vars
をすでに書いていたのが原因のようでした。

1つのスクリプト内で同じ配列を複数回定義してはまずいということなんでしょうか。
違う配列名を使うことで症状は出なくなりました。


QSortの不具合ではなかったことをお詫びいたします。お騒がせいたしました。

No.643 2014/12/27(Sat) 21:07:43
整数型と配列の最大値は? / かおる〜ん
20数年前に、CUIプログラムしか作った事が無い私ですが、
HDDを全面readしてみたくなり、バッチライクなUWSCの勉強を始めました。

HDDが2TBを越え、LBAが48bitとなり、HDD Walkerで読めない故障しかけのHDDが
手元に有ります。(値がマイナスのセクターになる)
将来64bit LBAが予想されますし、UWSCでは64bit整数が扱えるようなので、
試してみたくなりました。

1.UWSCでは変数の型が無いとなっていますが、最大値って何でしょう?

以下のプログラムでは、途中で変数の型が自動変換されたのでしょうか?
64bit整数が扱えてないのですが、何処かで型を宣言するのでしょうか?

j = 0
for i=1 to 65
j= j * 2 + 1
print format(i,4,0) + " " + format(j,16,-1) + " " + format(j+1,16,-1)
next
sleep(100)

48 FFFFFFFFFFFF 1000000000000
49 1FFFFFFFFFFFF 2000000000000
50 1.12589990684262 1.12589990684262

50番目で変数の型が変更されています。
かと言って49番目では扱えている感じだけど、何故でしょう?

2.配列って幾つまで作れますか?

DISKIO?API?がどこまで一気読み可能かは別の話として、HDDが不安定な為、
出来るだけ大量に一度読みしたいです。
なので、DIM HDD_BUFFER[4GB]の様に、読み込みバッファとして、4GBとか2GB
サイズの配列を作りたいのです。

Win7 64bit MEM8GB と Win8.1 64bit MEM4GB 使っています。

No.512 2014/11/29(Sat) 05:54:47

Re: 整数型と配列の最大値は? / satocha
>50番目で変数の型が変更されています。
変数の型は変更されていません。
print文をの末尾にvartype(j)を追加し、
print format(i,4,0) + " " + format(j,16,-1) + " " + format(j+1,16,-1) + " " + vartype(j)
とすると、最初から最後まで5(倍精度実数)が表示されていることが分かると思います。
プログラム出力が変わったのは、format文の十六進出力に上限があるためではないでしょうか。
ヘルプのDIMの項に「変数に型はありません」と明記してあるように、内部でどのようなことを行っているかはともかく、UWSCでユーザが変数の型を自由に操作することはできません。変数Aの値が1であるとき、その意味は文字列の"1"かもしれないし、整数の1かもしれないしBooleanのtrueかもしれないし、もしかしたら、ファイルハンドルかもしれません。それは適宜UWSCが解釈します。
ただ言えることは、UWSCで100個の配列を確保するとき必要なメモリは100バイトではなく、最低でも倍精度実数を格納しなくてはならないのですから、その数倍から数十倍になるだろうということです。
UWSCに不可能なない、と言いたいところですが、向き不向きはあるはずです。
8GBのマシンで主記憶の半分を占める4GBの配列を扱いたいのなら、そういうことに向いた言語(Cやアセンブラ)を使ったほうがいいのではありませんか。

No.514 2014/11/29(Sat) 20:25:46

Re: 整数型と配列の最大値は? / かおる〜ん
satochaさん。有難う御座います。

>format文の十六進出力に上限があるためではないでしょうか。

最初に10進数で表示させて見ていたのですが、10進数でも同じ所で
浮動小数点になったので、こちらも上限が有るようです。
48bitまでは扱えているので、LBA48が扱えそうですが、
将来は64bit対応の独自のformat文が必要ですかね。
いや、きっと128bitや256bit対応版を作ってくれる筈だと信じよう。


配列の値は4byteと勝手に解釈して、大体の数字で確保してみたら、

dim hdd_buf[67108864] // 256MB? (256 * 1024 * 1024 / 4)

ここまでは確保出来ました。
が、全体の容量が決まっているのか、他の配列変数に制限がかかるようでした。

更に、char hdd_buf[67108864]と、cの感覚で使うのは間違いで、
たぶん操作出来ない事に気付き、文字列の最大長を測ってみました。

for i=128 to 1024
j= format(" ",1024 * 1024 * i)
print format(i,4,0) + "MB " + " " + LENGTHB(j)/1024/1024
next

これで、157MBまでは確保出来ました。環境によっては138MBまでになったりもします。

実際使うには、FGETが行単位だったので、byte単位のアクセスFGETBでも無いと
アクセス出来ない事に気付き、標準機能では断念しました。(無いですよね?)
Win32APIは、かなり難しそう・・・早々に挫折

win用のC言語は持っていないのですが入口が難しそう。
N88BASICとX68000のGCC位しか使った事が無いのですが・・・
やりたい事は単純なのに、最近の言語は、複雑過ぎてついていけない

No.515 2014/11/30(Sun) 06:00:25

Re: 整数型と配列の最大値は? / satocha
夢を超えたX68000、懐かしいですね。ベーシックのほうはN88でなく、N66だったけど…。
閑話休題、UWSCの組み込み関数はテキストファイルのみの対応で、セクター読み込みどころか、バイナリーファイルも扱えません。バイナリーについてはこの掲示板で有名な方が読み書きできる方法をアップされていたように記憶しますが。
セクター読み込みについては、「C#でセクタリード」で検索すると、成功例が出てきます。C#はpowershellでコンパイル・実行でき、UWSCにはpowershell関数があるのですから、頑張ればどうにかなるかもしれません。

No.516 2014/11/30(Sun) 09:12:38

Re: 整数型と配列の最大値は? / かおる〜ん
UWSCはテキスト扱うのは最強?だけど、バイナリーは苦手なんですね。
バイナリー扱えるフリーライブラリどこかに落っこちていると有難いのだけど
誰か知らないでしょうか?

FOPENB
FGETB
FPUTB
FSEEKB
FCLOSEB

これ位有れば便利かなと思うのですが

考えている処理です

//
// HDD Walker Pico(同じ様な既存アプリに敬意を表し仮命名)
// 48bitLBA対応・将来そのまま64bitLBAでも動作可能と思われる。
//

//
// INIファイル検索・無ければドライブ選択・初期設定を作成
// 処理は永久常駐監視動作。前回終了時点から継続実行(これが重要)
// ドライブが取り外し・変更・追加されたら再選択
//

//
// MAIN START
//
// CPU負荷率とHDD負荷率を測定し、どちらかが50%超えていたら
// 1分間処理せず、最初に戻る

//
// 大量セクターリードチェックする
//
// 正常なら、次にチェックするセクターをINIファイルに書き込む
// エラーが発生したら詳細診断・注意喚起しキー入力待ち
//

// MAINの最初に戻る
//

//
// 詳細診断&修復
// エラーの発生したセクターより若いセクターから読み直す
// 読めるなら、修復・診断ログに注意セクターログ登録
// 読めない時には、全処理強制停止・エラーセクターログ登録
//

//
// 修復(オプション設定有りの時だけ以降の処理を実施)
// ドライブロックする
// 読み取れたセクターから読めなかったセクターを含めて多めに読み取る
// リライトする
// リライト失敗なら全処理強制停止・エラーセクターログ登録
// ドライブロック解除する
//

PCはHDDが調子悪くなったけど、普通のテレビも壊れて映らなくなった。最悪

No.521 2014/12/01(Mon) 02:34:49

Re: 整数型と配列の最大値は? / しゅん
物理ディスクをそのまま読むプログラムを組んだ経験がないので、回答を控えてましたが、
FOPENB
FGETB
FPUTB
FSEEKB
FCLOSEB
なら、
CreateFile
ReadFile
WriteFile
SetFilePointer
CloseHandle
といったWin32APIで出来そうに思えます。
ライブラリーを探すなら、Win32APIをたたいてはどうでしょうか。
UWSCでは、DEF_DLLを使えば呼び出せます。
一気に読むには、VirtualAlloc/VirtualFree/RtlMoveMemoryあたりも必要かと思います。

ただ、、、データのレスキューならLinuxにつないでddした方が良いとは思います。

No.522 2014/12/01(Mon) 11:20:19

Re: 整数型と配列の最大値は? / かおる〜ん
しゅんさん、情報有難うございます。

>データのレスキューならLinuxにつないでddした方が良いとは思います。
データレスキューするつもりは有りません。目的は、HDDの日常劣化監視です。
出来たら、再磁気化書き込み(リフレッシュ化?)も出来たら良いかなと。

手動(1回だけ)だと、fromHDDtoSSD・HDDSCANを見つけたので、評価中なのですが、
何せ、試してみたUSB 3.0接続3TB HDDだと、3日間スキャンさせないと全部終わららず
電源が切れないから、電源切っても継続診断する物じゃないと実用的じゃ無いと
思ったんです。

更に、最後までスキャンが終わっても、何度でもまた最初からスキャンして故障に
常時備えようというアプリです。

しかも、私の環境では、USB->SATA I/FかUSB HUB若しくはUSBドライバがどうも
動作が変で、高負荷状態が継続すると接続解除されてしまう代物なのです。

S.M.A.R.T.だけの監視は余りあてにならないので、高級なH/W RAIDコントローラーに
標準搭載されている機能の一部を簡易機能だけでもソフトでやろうとしています。

メインプログラムは単純。効果は絶大?(自画自賛)
実装は判らない事ばかりで問題山積です。
X68000 SASI-HDDのLLFは簡単だったなぁ〜

No.526 2014/12/02(Tue) 20:21:39

解決 / かおる〜ん
御無沙汰しています。

結局、fromHDDtoSSDで目的の事に対応して頂ける事になったので、
このアプリ自作は不要になりました。

(説明が見当たらない起動パラメータ 「-s -p」で常駐監視起動する機能が有った)

No.642 2014/12/27(Sat) 17:38:40
SCKEY関数について / ミリアム
DIM ID = Exec("notepad")
DIM 貼 = VK_V
SCKEY(ID, VK_CTRL, 貼)

このようにすると、
変数: VK_貼 が定義されていません 3行目: SCKEY(ID, VK_CTRL, 貼)
というエラーが出ました。(UWSC Free版 Ver5.0.3)

たぶんアルファベット1字で入力が可能になる機能が働いたんだと思います。


…こんな使い方誰もしないと思いますけど…。

No.606 2014/12/19(Fri) 22:42:00

Re: SCKEY関数について / Nagatani
どう使うのか理解できていませんが・・・・

ID = Exec("notepad")
貼 = VK_V
SCKEY(ID, VK_CTRL, EVAL(貼))

でしょうか?違うような???

No.634 2014/12/24(Wed) 21:33:28

Re: SCKEY関数について / ミリアム
わざわざ返信ありがとうございます。


ID = Exec("notepad")
貼付 = VK_V
SCKEY(ID, VK_CTRL, 貼付)


単純にこうして変数名を2文字以上にすれば正常に動くので一応問題は無いです。


ちょっと特殊な状況で、VK_Aとか打ち込むのがめんどくさい、とかいう理由で全角のA〜ZにVK_A〜VK_Zを割り当ててました。

…ですので、今回はVK_A〜VK_ZにVK_A〜VK_Zを割り当ててみようかな〜と思います。


一応報告しておいた方が良かったかと思ったのですが、すんごいどうでも良かったですね!

失礼しました〜

No.639 2014/12/26(Fri) 21:51:18
大文字と小文字の区別について / ざっく
今作っているプログラムでは
データが偶然にも大文字と小文字で別の意味を持っています。

しかし、UWSCにて大文字と小文字を区別しようとするとうまくいかないです。

大文字か小文字かという情報は持っていられるみたいですが・・


例えば、下の記述だとIFB文のtrue部が実行されてしまいます。
それだとまずいので大文字小文字を区別して判定させたいです。

ネットで調べてもわかりませんでした。
回答よろしくお願いします。


IFB "aBc" = "AbC"
PRINT "テスト中"
ENDIF

No.631 2014/12/24(Wed) 17:47:09

Re: 大文字と小文字の区別について / koi
OPTION SAMESTR 指定でいいのではないかと
No.632 2014/12/24(Wed) 20:03:13

Re: 大文字と小文字の区別について / ざっく
ありがとうございます。

解決いたしました。

No.636 2014/12/25(Thu) 11:13:32
(No Subject) / gaudy
サンプルプログラム
// Yahoo!ファイナンスを開き、データをExcelに送りグラフを作成  #n35
を起動させたら、
XLOPEN:FUNCTION OF THE PRO VERSION
10行目:EXCEL=XLOPEN(TRUE)
とエラーが出てしまいました。
解決方法がわかる方がいたら教えてください。
よろしくお願いします

No.633 2014/12/24(Wed) 20:34:23

Re: / Nagatani
Pro版を購入されればなおりますよ!
No.635 2014/12/24(Wed) 21:38:45
CHKIMGの検出座標 / koi
UWSC5.0.4 + Win7 SP1(32bit)

これまで単純に検出の有無だけをチェックしていたため気が付かなかったのですが
SAVEIMGにて保存した画像をそのままCHKIMGした場合
保存画像と同一の座標値が検出座標として返されるのが正常だと思うのですが
MOUSEORG関数を使った場合 座標のずれが発生して返ってくるようです

これは不具合・仕様 どちらでしょうか?

テストコード
X = 100
Y = 100
SAVEIMG("C:\TEMP\test0.bmp", 0, X, Y, 100, 100)
print FORMAT(X, 5, 0) + FORMAT(Y, 5, 0)
print chkimg("C:\TEMP\test0.bmp") + FORMAT(G_IMG_X, 5, 0) + FORMAT(G_IMG_Y, 5, 0)
ID = GETID("Google Chrome")
MOUSEORG(ID, MORG_CLIENT, MORG_BACK)
SAVEIMG("C:\TEMP\test1.bmp", ID, X, Y, 100, 100)
print chkimg("C:\TEMP\test1.bmp") + FORMAT(G_IMG_X, 5, 0) + FORMAT(G_IMG_Y, 5, 0)

(当方での)出力結果が以下のようになります
100 100
True 100 100  ->スクリーン全体の時は問題なし
True 95 100  ->MOUSEORG後 X座標のみが同一座標にならず
            ちなみにX/Yを0にすると未検出になります

CLIANTにしてるのが原因かと思い DIRECTにしてみましたが現象は変わりません

5.0.4で CHKIMG関連でFIXがあったのは知っていますが
最大化しているわけでもありませんし
いくつかの旧バージョンでも動かしてみましたが
いずれも同様の現象が発生しています

保存画像を確認する限りSAVEIMGには問題がないように思われます

ちなみに
5.0.4とメモ帳で行ってみたところクロームとはまた違った結果になってしまいました
(X/Y両方ともずれる)
なんかわけわからなくなってきてます

No.624 2014/12/21(Sun) 20:56:11

Re: CHKIMGの検出座標 / umiumi
saveimgと chkimgの座標系が違うから
クライアント座標で処理するなら saveimg関数の クライアント指定を Trueに
SAVEIMG("C:\TEMP\test0.bmp", 0, X, Y, 100, 100, True, 0, IMG_BACK)

No.626 2014/12/22(Mon) 00:36:37

Re: CHKIMGの検出座標 / koi
回答ありがとうございます
問題ないと思っていたSAVEIMG側の使い方の問題でしたか
気が付きませんでした
確認したところ確かに座標系が一致するようになりました

No.629 2014/12/22(Mon) 05:07:51
全1170件 [ ページ : << 1 ... 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 ... 117 >> ]