UWSC 掲 示 板
投稿時に「証明書が不正です」と出る場合には、JavaScriptをオンにしてください
動作不具合での質問の場合には環境(OS,IEのバージョン等)の表記もしてください
タイトルは質問内容を表したものにしてください
ネットゲーム関係の質問はご遠慮ください

ボタンの押し方を教えてください / テニスじいさん
おせわになります。
庭球場7の下の18時のところのボタンを押したいのですがうまくいきません。なんとかお助けください。

以下はプログラムです。骨子のみ表示してあります。よろしくお願いします
//


GetTime
nn=G_TIME_YY
mm=G_Time_MM


// 日付の読み込み
    year=nn
month=mm+3
if month> 12 then
month=month-12
year=year+1
endif






IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True



愛知(IE)


///


id="01007390"
paswd="Aich0075"
  


施設予約システムに入る(IE)


IESetData(IE,id,"layoutChildBody:childForm:userid")         // Id
IESetData(IE,paswd,"layoutChildBody:childForm:passwd") // 暗証番号
ログイン(IE)
//

   施設名から探す(IE)
   
   上記の内容で検索(IE)

   小幡緑地(IE)

no=17
日付の選択(IE,no)

n=7
   次の5件(IE)

   摂取(IE)
 






//=============================================================

// ボタン

//=============================================================

// ======愛知ネットにはいる========

Procedure 愛知(ie)
IE.Navigate("https://www4.pref.aichi.jp/yoyaku/index.jsp")
BusyWait(ie)
Fend

//========施設予約システムに入る=================
Procedure 施設予約システムに入る(IE)
IE.navigate("javaScript: doSubmit('childForm', 'doLogin');" )
BusyWait(IE)
Fend

//================ログイン======================
Procedure ログイン(IE)
IE.document.getElementById("doLogin").click()
BusyWait(IE)
sleep(0.2)
Fend

//================施設名から探す====================== goNameSearch
Procedure 施設名から探す(IE)
IE.document.getElementById("goNameSearch").click()
BusyWait(IE)
sleep(0.2)

Fend

//================上記の範囲で検索======================
Procedure 上記の内容で検索(IE)
IE.document.getElementById("doSearch").click()
BusyWait(IE)
sleep(0.2)

Fend
//================小幡緑地====================== 
Procedure 小幡緑地(IE)
IESetData(IE,TRUE,"layoutChildBody:childForm:resultItems:2:doSelect")
BusyWait(IE)
Fend



//================対象館一覧を表示======================
Procedure 対象館一覧(IE)
IE.document.getElementById("doSearch").click()
BusyWait(IE)
Fend

//================施設の決定======================
Procedure 施設の決定(IE)
IE.document.getElementById("doAreaSet").click()
BusyWait(IE)
Fend

//================日付の選択======================
Procedure 日付の選択(IE,no)

 ban=no+""
id = GETID("空き状況/ネットあいち施設予約システム - Internet Explorer", "IEFrame", -1)
SLEEP(0.2)
nmon="次月"
CLKITEM(id,nmon,CLK_LINK)
CLKITEM(id,nmon,CLK_LINK)
CLKITEM(id, ban, CLK_LINK)
BusyWait(ie)
Fend




//================摂取====================== 
Procedure 摂取(IE)
 IESetData(IE,TRUE,"layoutChildBody:childForm:rsvEmptyStateItems:1:emptyStateItemsItems:0:emptyStateItems:10:sel")
 
BusyWait(IE)
Fend

//================
//========== 時間帯============

Procedure 時間帯(IE,moji)
nn=pos("a",moji)
if nn>0 then IESetData(IE,True,"layoutChildBody:childForm:lotEmptyStateListItemsItems:0:lotEmptyStateListItems--:0:chkKom-1")
nn=pos("b",moji)
if nn>0 then  IESetData(IE,True,"layoutChildBody:childForm:lotEmptyStateListItemsItems:0:lotEmptyStateListItems--:1:chkKom-1")
nn=pos("c",moji)
if nn>0 then IESetData(IE,True,"layoutChildBody:childForm:lotEmptyStateListItemsItems:0:lotEmptyStateListItems--:2:chkKom-1")
nn=pos("d",moji)
if nn>0 then IESetData(IE,True,"layoutChildBody:childForm:lotEmptyStateListItemsItems:0:lotEmptyStateListItems--:3:chkKom-1")
BusyWait(IE)
Fend

//================申し込み確定======================
Procedure 申し込み確定(IE)
IE.document.getElementById("doDateTimeSet").click()
BusyWait(IE)
sleep(0.2)
Fend

//================利用目的======================
Procedure 利用目的(IE)
 IESetData(IE,"硬式テニス","layoutChildBody:childForm:makeList")
 IESetData(IE,"19","layoutChildBody:childForm:applycnt")     //人数 
BusyWait(IE)
Fend

//================抽選内容の確認=========申し込みをする=============
Procedure 抽選内容の確認(IE)
 IE.document.getElementById("doConfirm").click()
 BusyWait(IE)
 sleep(0.2)
 //IE.document.getElementById("doOnceFix").click() //申し込み←原因はここです。
 //IEの操作(COM)にて、ダイアログが出ると動作が停止する  #N25
 //http://www.uwsc.info/faq.html#N25
 Thread PopupWin("Web ページからのメッセージ")
 IESETDATA(IE,True,"","抽選を申込む")
 BusyWait(IE)
 sleep(0.2)
Fend
//--------------
Procedure PopupWin(StrLine)
  id = GETID(StrLine, "#32770", -1)
  SLEEP(1)
  Check = CLKITEM(id, "OK", CLK_BTN)

Fend

//================別の日付======================
Procedure 別の日付(IE)
IE.document.getElementById("doDateSearch").click()
BusyWait(IE)
Fend

//================ログアウト======================
Procedure ログアウト(IE)
IE.document.getElementById("doLogout").click()
BusyWait(IE)
sleep(0.2)
Fend

//===================== 花火====================
procedure 花火(ie)
ie.navigate("http://phoenix911.sub.jp/flashanime/hanabi.swf")
BusyWait(ie)
Fend

//===============抽選申し込みの一覧へ======================
Procedure 抽選申し込みの一覧へ(IE)
IE.document.getElementById("goLotStatusList").click()
BusyWait(IE)
Fend

//================次の5件======================
Procedure 次の5件(IE)
IE.document.getElementById("goNextPager").click()
BusyWait(IE)
sleep(0.2)

Fend


//================1へ======================
Procedure マイページ(IE)
IE.navigate("javascript: doMenuBtn('MYPAGE');" )
BusyWait(IE)
Fend

//================予約状況の一覧へ======================
Procedure 予約状況の一覧へ(IE)
IE.document.getElementById("goRsvStatusList").click()
BusyWait(IE)
sleep(0.2)
Fend

//================確定作業====================== goLotSerach
Procedure 確定作業(IE)
IE.document.getElementById("goLotElectConfirm").click()
BusyWait(IE)
sleep(0.2)

Fend

//================同意する====================== goLotSerach
Procedure 同意する(IE)
IE.document.getElementById("yeslabel").click()
BusyWait(IE)
sleep(0.2)

Fend


//================当選結果の確定====================== goLotSerach
Procedure 当選結果の確定(IE)
IE.document.getElementById("doOnceLockFix").click()
BusyWait(IE)
sleep(0.2)

Fend
//================一覧へもどる====================== goLotSerach
Procedure 一覧へもどる(IE)
IE.document.getElementById("jumpLotStatusList").click()
BusyWait(IE)
sleep(0.2)

Fend
//===============
Procedure BusyWait(ie)
 repeat
  Sleep(0.1)
 until (! ie.busy) and (ie.readyState=4)
Sleep(0.2)
Fend

//=================================

No.4074 2017/06/01(Thu) 14:51:19

Re: ボタンの押し方を教えてください / stuncloud
1. 「庭球場7」の表を探す
2. 18時の位置を探す
3. 画像をクリック
という感じの動作にします
「庭球場7」の表示されているページが開かれている状態だとします

*************************************

アイコンクリック(ie, "庭球場7", 18)

procedure アイコンクリック(ie, 施設, 時) // 施設は部分一致で良いです
 tablebg2 = ie.document.querySelectorAll(".tablebg2")
 for i = 0 to tablebg2.length - 1
  inamem = tablebg2.item(i).querySelector("span[id=<#DBL>inamem<#DBL>]")
  if inamem <> NULL then
   if pos(施設, inamem.innerText) then
    hourlable = tablebg2.item(i).querySelectorAll("span[id=<#DBL>hourlable<#DBL>]")
    for j = 0 to hourlable.length - 1
     if hourlable.item(j).innerText = 時 then
      tablebg2.item(i).querySelectorAll("img").item(j).click()
      break
     endif
    next
    break
   endif
  endif
 next
fend

*************************************

ところで、ログインIDとパスワードが使えてしまうようですが大丈夫なのでしょうか?
個人的に使われているアカウントであれば消しておいたほうがよいと思いますが…(個人名と思しき姓名が表示されちゃってます)

# しかしこのサイト、多重tableだわidがユニークじゃないだわでわりとひどい作りですね…DOMツリー見ながらげんなりしてました

No.4075 2017/06/01(Thu) 15:50:08
ThunderbirdのAdd-onのIDを取得する方法 / あきら
Thunderbirdに「Provider for Google Calendar」と言うAdd-onがあります。Thunderbirdを立ち上げると必ず毎回出てきます。必ずGoogleアカウントをパスワードを入れて許可すると言う操作をしなければなりません。低レベル記録でテキストファイルからコピーアンドペーストしたりキーボード操作すると記録は出来ます。しかし、出てきたダイアログボックス(Googleのだと思いますが)に入力しようとして
EXEC("C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe")
CID=GETID("Sign in to your account ***-****-****-****-**********","MozillaDialogClass")
SENDSTR(CID,"********@gmail.com")
としてもそのダイアログに入力できません。
その次にエンターキーの操作も今一つ分からないので、キーボードのエンターキーを押すと言う風にしています。
そしてパスワードの入力も上と同じように書いたのですが、それで良いのかどうかです。
最後の難関が「許可」と言うボタンのクリックです。これがどうもマウスでしか操作できないようで、これを何とかしたいと思っています。
ただ、そのダイアログボックスはThunderbirdの一部として動いていますが、タスクマネージャーを見るとThnderbirdから枝分かれしたプロセスになっています。そのプロセスの名前はダイアログボックスの上に記述された文字列になっています。これは上に書いたアカウント*****-****-****で書かれた文字列とは違っています。このダイアログボックスに入力するにはどう記述すれば良いのでしょうか?
低レベル記録しか無いのでしょうか?そうなると結構時間が掛かります。これでは手入力の方が速いと言う事になります。

そもそも、UWSCに関心を持ったので手始めにこれを題材に勉強しようと思ったのですが、それが無謀だったのでしょうか?よろしくお願いいたします。

No.4056 2017/05/29(Mon) 22:40:58

ThunderbirdのAdd-onのIDを取得する方法(訂正) / あきら
>これは上に書いたアカウント*****-****-****で書かれた文字列とは違っています。
は間違いで、これがダイアログボックスの上に書かれています。

No.4057 2017/05/29(Mon) 22:45:20

Re: ThunderbirdのAdd-onのIDを取得する方法 / しろまさ
質問の趣旨から外れますが、Gmailは2段階認証を入れてませんか?
その場合はアプリパスワードを使うことでログイン認証を省くことが出来ます。

アプリパスワードについてはリンクの「2段階認証をすり抜ける。」を参考にして下さい。
http://siromasa.html.xdomain.jp/uwsc/u_term/Gmail.html

違ってたら無視して下さい。

No.4059 2017/05/30(Tue) 08:50:52

Re: ThunderbirdのAdd-onのIDを取得する方法 / あきら
しろまさ様
ありがとうございます。2段階認証では無いですが、Add-onを使うためにGoogleの許可をもらうと言うだけのようです。最近結構Googleのサービスと連携させる場合その様な事をさせられるようになっています。ThunderbirdでGmailを設定すると出てきたりします。今まではその様な事は無かったのですが。セキュリティの問題だと思いますが。UWSC結構スクリプトを考えて行くと面白いのではまりそうです。

No.4060 2017/05/30(Tue) 09:52:53

Re: ThunderbirdのAdd-onのIDを取得する方法 / しろまさ
今 Provider for Google Calendar を入れ、新規作成 カレンダー で gmailにリンクさせたんですが
TB再起動してもパスワード認証が出ず、Box操作が試せません><
こちらは2段階認証を入れてますが他に何が違うのか・・?(TBは Portable版)

設定途中で「このアプリが許可を求めています」みたいな画面で許可を通したのですが、
再度カレンダーを新規作成して、アプリ認証してみるのはいかがですか?

No.4061 2017/05/30(Tue) 11:55:14

Re: ThunderbirdのAdd-onのIDを取得する方法 / あきら
仰る通りに再度作りました。
>設定途中で「このアプリが許可を求めています」みたいな画面で許可を通したのですが、

は仰る通り出てきます。がこれは以前にも出ていたもので、やはり毎回認証が必要なようです。
Add-on紹介のところにも認証がいると注意が出ていました。ただ、それが毎回だとは思いませんでした。作者にもメールしてみます。ありがとうございます。

No.4062 2017/05/30(Tue) 15:16:04

Re: ThunderbirdのAdd-onのIDを取得する方法 / しろまさ
駄目でしたか。残念>< 2段階認証いいですよ! 

話を戻しまして、

GetIDはタイトル部分一致又は省略でも通ります(Classは絶対一致)
MouseOrgで座標を決め打つことが出来ます。
ChkImgで画像座標を取得できます。
PosACCで座標位置の文字を取得できたりします。
SendStrが聞かない入力は仮想キーを連続で打つ方法もあります。http://siromasa.html.xdomain.jp/uwsc/u_term/75_Mojinyuuryoku.html

ウィンドウが出ないので検証は出来ませんが、いろいろ試すと結構なんとかなるもんです。
ご検討をお祈りいたします。

No.4063 2017/05/30(Tue) 17:33:44

Re: ThunderbirdのAdd-onのIDを取得する方法 / あきら
CID=GETID("Sign in to your account ********-****-****-****-************","MozillaDialogClass")
ACW(CID,467,49,432,627,0)
BTN(LEFT,CLICK,614,101,78)
SENDSTR(CID,"********@gmail.com")
KBD(VK_RETURN)
CID=GETID("Sign in to your account ********-****-****-****-************","MozillaDialogClass")
ACW(CID,467,49,432,627,0)
BTN(LEFT,CLICK,513,337,94)
SENDSTR(CID,"**********")
KBD(VK_RETURN)
と作ってみましたが、最初の入力から出来ないです。
低レベル記録で作って手直しをしてみたのですが。
ここで、キーボード操作やコピペの部分をSENDSTRで置き換えました。
しかし、入力されません。

No.4067 2017/05/31(Wed) 13:54:04

Re: ThunderbirdのAdd-onのIDを取得する方法 / しろまさ
多分このウィンドウかな? ということで一例です。

wID = GetID("Sign in to ", "MozillaDialogClass", 0.2)
MouseOrg(wID, 1)
  BTN_MMV(350, 280)
  KBD_W(VK_CTRL, VK_A)
  SendKBD("siromasa@gmail.com")
//  BTN_MMV(350, 370)  //  次へ
MouseOrg(0)

Procedure  BTN_MMV(x, y)
  BTN(LEFT, CLICK, x, y)
  MMV(x, y)
FEnd
Procedure  SendKBD(a)
  Dim i, n, Key[]  = "","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","32","s49","s50","s51","s52","s53","s54","s55","s56","s57","106","107","188","189","190","191","48","49","50","51","52","53","54","55","56","57","186","187","s188","s189","s190","s191","192","s65","s66","s67","s68","s69","s70","s71","s72","s73","s74","s75","s76","s77","s78","s79","s80","s81","s82","s83","s84","s85","s86","s87","s88","s89","s90","219","220","221","222","s226","s192","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","s219","s220","s221","s222"
  If GetKeyState(TGL_CAPSLOCK)  Then KBD_W(VK_SHIFT, VK_CAPITAL)
  For i = 1  To Length(a)
    n = Key[ASC(Copy(a, i, 1))]  ; If ChkNum(n)  Then KBD(n)  Else KBD_W(VK_SHIFT, Copy(n, 2))
  Next
FEnd
Procedure  KBD_W(a_Key1, a_Key2)  // a_Key1 を押しながら a_Key2 押下
  KBD(a_Key1, 1);  KBD(a_Key2);  KBD(a_Key1, 2)
FEnd

No.4070 2017/05/31(Wed) 17:14:41
COM_Error:アクセスが拒否されました。が出てIEが開けない / ぽんず
COM_Error:アクセスが拒否されました。,ProgID:"InternetExplorer.Application"71行目:IE = CREATEOLEOBJ("InternerExplorer.Application")

のエラーが表示されてIE動作が停止します。
以前は問題なかったのですが、突然発生するようになりました。
IEの保護モード,セキュリティーソフト等は切っています。

どうかよろしくお願いします。

No.4064 2017/05/31(Wed) 00:54:31

Re: COM_Error:アクセスが拒否されました。が出てIEが開けない / ぽんず
OSはWindows10 pro 64bit
IEは11.296.15063.0

IEのリセット等も行いました。

No.4065 2017/05/31(Wed) 00:56:39
UWSC自身の幅と高さが正しく取得できません / siguma
お世話になります。

UWSC Free版 Ver5.2.3
を使用時は

ID = GETID(GET_THISUWSC_WIN)
print "幅 " + STATUS(ID, ST_WIDTH)
print "高さ " + STATUS(ID, ST_HEIGHT)

を実行すると「幅 220」「高さ 60」と表示されていたのですが

UWSC Free版 Ver5.3.0.2
では「幅 1」「高さ 1」と表示されてしまいます。

(なおX座標・Y座標・タイトル・クラス名ではどちらのVerでも同じ値が表示されます)

No.4054 2017/05/29(Mon) 12:04:47
パソコンを変えました、すると / kubo
いつもありがたく使わせていただいていますが
新しいパソコンに替えたら、記憶ボタンなどが灰色で、使えません
64ビツトのWindows10です。
以前のように使う方法はありますか?
よろしくお願いいたします。

No.4050 2017/05/28(Sun) 21:58:26

Re: パソコンを変えました、すると / koi
まさかとは思いますが
旧環境のUSWC.exeだけを新環境にコピーしたとか言わないですよね?
(アーカイブ配布されてるものを新環境でそのまま展開していますか?)
  実行ファイルコピーだけだと(必要なDLLが無いと)
  記憶ボタンはグレーアウトされてます

No.4052 2017/05/29(Mon) 09:39:42
文字検索クリックについて(上級) / 初心者
お世話になっております。

ヤフオクのページから『今すぐエントリー』という文字を検索してそれをクリックして実行するという
プログラムを作成したいのですがうまくいきません。

この場合、文字が印字されているような感じのタイプの文字検索は可能なのでしょうか??



それと『今すぐエントリー』の中で『エントリー』だけで検索クリックできるようにしたいのですが
そちらも可能なのでしょうか。





IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("https://auctions.yahoo.co.jp/")


//完全に表示されるまで待機
REPEAT
SLEEP(0.01)
UNTIL ((ie.Busy=FALSE) AND (ie.ReadyState=4))

sleep(5)

atags=ie.document.getElementsByTagName("a")
FOR k=0 TO atags.Length-1
IFB (atags.Item(k).InnerText="今すぐエントリー") THEN
atags.Item(k).Click()
BREAK
ENDIF
NEXT

No.4030 2017/05/26(Fri) 00:36:19

Re: 文字検索クリックについて(上級) / トリビア
対象サイトに「今すぐエントリー」というテキストは存在していますか?
ご確認ください。

No.4032 2017/05/26(Fri) 16:07:25

Re: 文字検索クリックについて(上級) / koi
書かれてるURL見てみました

> 文字が印字されているような感じのタイプの文字

少なくても今回に限って言えば
完全に画像ファイルなので文字列としての検索とかは不可能です

見たとき表示されてたのは以下の画像
https://s.yimg.jp/images/auct/salespromotion/2017_5/0508_selldebut_cp/188x188_03.png

No.4033 2017/05/26(Fri) 17:13:38

Re: 文字検索クリックについて(上級) / 初心者
ご返信有難うございます。

では、これが仮に画像ファイルではなかった場合はどのようなプログラムを書きますでしょうか?

文字列としてですが、文字をクリックできるようなタグではない場合です。

例としましては、
あるスマホアプリの何々さんから『コメントが来ました』の時にその場所をクリックして表示させたいのですが可能ですか。

コメントが来ましたが頻繁するので効率的に文字検索してその画面を一度に複数開きたいです。

記載したスクリプトでやってみましたが動きませんでした。

よろしくお願い致します。

No.4035 2017/05/26(Fri) 18:09:25

Re: 文字検索クリックについて(上級) / トリビア
>初心者さん
Web記録でトライしてみてください。

No.4036 2017/05/26(Fri) 20:10:18

Re: 文字検索クリックについて(上級) / 初心者
Web記録でトライしましたが、一応切り替わるのですが
IEのみしか出来ないのでグーグルChromeなどでも出来るようにしたいです。

それと複数のコメントを複数タブで開けなかったです。

出来れば、複数あります『コメント』という文字を文字検索してそこにマウスを移動させたいのですがそれは可能ですか?

No.4048 2017/05/28(Sun) 13:46:08

Re: 文字検索クリックについて(上級) / 初心者
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
setOleEvent()
IE.Navigate("https://~~~")
BusyWait()

IELink(IE,"コメント") // https://www~~~
BusyWait()

追記ですが、web記録でやるとこういった感じになりましたが、
コメントのある場所を特定して複数同時に開きたいのと、可能であればマウスを文字の上に移動させたいです。

文字検索によりマウスが移動出来ればそこから右クリックなどで複数開けるはずです。

複雑ですがよろしくお願い申し上げます。

No.4049 2017/05/28(Sun) 20:02:02

Re: 文字検索クリックについて(上級) / しろまさ
>文字検索によりマウスが移動出来ればそこから右クリックなどで複数開けるはずです。

そう思うならそういったものを作成し、
何がうまくいかないかもっと焦点を絞って質問して下さい。

ここは作成依頼掲示板ではありません。
具体的なコードやページが無ければこちらで検証もできません。

No.4051 2017/05/29(Mon) 09:01:16
ループについて / 武田
お名前メールというサービスの転送設定を500件ほどしたいのですが1件が以下のような作業になります
最初に選択するボタンが1つのアドレスで500アドレス分、NAMEの末尾が140から640まであるのですが その部分にループごとに加算できるような変数を使うなどすることはできますか?
ループの方法も教えてください
よろしくお願いします
IESetData(IE,True,"ctl00$objMasterPlaceHolder$ctl140") // IMAGE
IESetData(IE,True,"ctl00$objMasterPlaceHolder$cbStatus","on") // CHECKBOX
IESetData(IE,"xxx@gmail.com","ctl00$objMasterPlaceHolder$txtForwardingAddress") // TEXT
IESetData(IE,True,"ctl00$objMasterPlaceHolder$btnAdd") // IMAGE
IESetData(IE,True,"ctl00$objMasterPlaceHolder$btnNext") // IMAGE
IELink(IE,"転送設定トップに戻る") //

No.4037 2017/05/27(Sat) 05:48:52

Re: ループについて / 森
//ループ、加算していく変数、文字列と変数の連結 のスクリプト例

for i = 140 to 640
 print "NAME" + i
 sleep(0.2)
next

No.4038 2017/05/27(Sat) 15:10:00
リンクを新しいタブで開く方法 / やしあ
WEBページのリンクマークから新しいタブで開く方法を教えてください
No.4028 2017/05/24(Wed) 23:54:43

Re: リンクを新しいタブで開く方法 / stuncloud
・リンクを右クリックして「新しいタブで開く」をクリック
・リンクに target="_blank" 属性を追加してクリック
・リンクの href の値を取って ie.navigate(url, 2048) する

No.4029 2017/05/25(Thu) 18:24:16
現実の10倍の速さで動く仮想の時計を表示させたい / NIB
現実世界の10倍の速さで時が流れる時計を作りたいのですが、
秒/分/時の繰り上がりが正常でないようで、助言を賜りたく参りました。

概要
0.現実世界の10倍の速さで時が流れる
1.1日は24時間
2.1時間は60分
3.1分間は60秒
4.日本時間との時差がある複数の環境でスクリプトを実行しても同じ時刻を表示させたい
(手動でもいいので調整したい)

表示は後程作ろうと、現段階ではPRINTをWHILEループで表示させて確認しています。

〜〜〜
WHILE !GETKEYSTATE(VK_ESC)

//2000年1月1日からの秒数
DIM REALTIME = GETTIME()
DIM FICTIME = REALTIME * 10 //現実時間の秒数を10倍

DIM SECONDS = INT(FICTIME MOD 60) //秒数
DIM MINUTES = INT(FICTIME / 60 MOD 60) //分数
DIM HOURS = INT(FICTIME / (60 * 60 ) MOD 24) //時数

PRINT HOURS +":"+ MINUTES +":"+ SECONDS

WEND

〜〜〜

問題点
1.30秒の時点で分数が増加し、60で増加しない
2.30分の時点で時数が増加し、60で増加しない
3.概要4.について全く見当がつかない

概要4については、5行目のREALTIME
DIM FICTIME = (REALTIME + ( 任意の時差 * 60 * 60 )) * 10
かなと思っているのですが、時計自体が正常に表示できていない為、
間違っている可能性が高く、着手できていません…。

No.4007 2017/05/23(Tue) 09:24:43

Re: 現実の10倍の速さで動く仮想の時計を表示させたい / しゅん
// 30秒や30分で増加するのは、丸め誤差です。割り算にINTつけて
// ある基準時点を設け、そこから10倍で時が流れるのであれば、
// 現時刻から一意に定まるので、概要4の考慮は不要かと思います。
// そもそも一日は86400秒なので、86400の余りから計算しないとおかしいはずです。

// いろいろ混乱されていると思います。
// 10倍で流れる、ということは、10倍の1秒は、実時間の0.1秒。
// 10倍の1分は、実時間の6秒、ということで良いでしょうか?

// UWSCにはSETTIME的な関数はないので、javascript利用で、2000/1/1を基準にすると以下の通りです

DIM date, sc = CREATEOLEOBJ("ScriptControl")
sc.Language = "javascript"
sc.ExecuteStatement("function getTime(t,o){b=new Date(o);return new Date(((new Date()).getTime()-b.getTime())*t+b.getTime())}")

WHILE !GETKEYSTATE(VK_ESC)
  date = sc.Run("getTime", 10, "2000/01/01")
  PRINT date.toString()
  SLEEP(1)
WEND

// 1秒SLEEPしているので、10倍時間で約10秒毎にPRINTされます。
// 表示フォーマットが気に入らない場合は、javascriptのDateオブジェクトについて調べてください。

// 追記:そうかGETTIMEでできたんでした、、、。

No.4010 2017/05/23(Tue) 12:20:58

Re: 現実の10倍の速さで動く仮想の時計を表示させたい / satocha
一日が何秒で繰り上がりがどう、出力文字の加工はどう…という難しくて面倒なことは全部コンピューターにやってもらったほうが得策です。われわれはその結果だけいただけばばいい。

というわけで、powershellというか.NETのdatetimeオブジェクトに計算させてみました。

自分でやることは、datetimeオブジェクトが理解できる時刻文字列をUWSCで組み立てるだけ。

  fukidasi( "終了はCTRL+Q+左クリック" )
  //開始時刻を設定
  gettime()
  //.NETで理解できる日付文字列を組み立てる
  startstr  =g_time_yy4 + "/" + g_time_mm2 + "/" + g_time_dd2 + " " + g_time_hh2 + ":" + g_time_nn2 + ":" + g_time_ss2 + "." + g_time_zz2
  thread  clock( 1, startstr, 30, 70 )
  thread  clock( 10, startstr, 30, 170 )
  repeat
  //fukidasiウインドウを前面に
  ctrlwin(getid(get_fukidasi_win),activate)
  until getKeyState( vk_ctrl ) and getKeyState( vk_q ) and getKeyState( vk_lbutton )
exitexit

procedure  clock( n, startstr, x, y )  //n倍速の時計表示
  repeat
  str  =n + "倍速:" + trim( powershell( replace( replace( ps, "<STP>", startstr ), "<NTH>", n ) ) )
  fukidasi( str, x, y )
  sleep( 0.01 )
  until false
fend

textblock ps
  #UWSCで設定した開始時刻
  $start  =[datetime]"<STP>"
  #現在時
  $now  =date
  #開始時と現在時の差を取る
  $diffTicks  =[INT64]($now.subtract($start).ticks)
  #n倍する
  $nTicks  =$diffTicks * <NTH>
  #開始時+n倍時差を計算すると勝手に時刻文字列が得られる
  $start.addTicks([INT64]$nTicks)
endtextblock

No.4011 2017/05/23(Tue) 15:42:11

Re: 現実の10倍の速さで動く仮想の時計を表示させたい / miles
//GETTIME関数を使いました。
x=10 // 倍数をセット
WHILE !GETKEYSTATE(VK_ESC)
 DIM REALTIME = GETTIME()
 DIM FICTIME = REALTIME * x //現実時間の秒数をx倍
 GETTIME((FICTIME-REALTIME)/(60*60*24))
 balloon(G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2,,250)
 SLEEP(1)
WEND

// 追記 基準日を指定した方がわかりやすい。
// GETTIME((FICTIME-REALTIME)/(60*60*24))
 GETTIME(FICTIME/(60*60*24), "2000/01/01 00:00:00")

No.4012 2017/05/23(Tue) 16:06:09

Re: 現実の10倍の速さで動く仮想の時計を表示させたい / しろまさ
DIM SECONDS = FICTIME MOD 60 //秒数
DIM MINUTES = INT(FICTIME / 60) MOD 60 //分数
DIM HOURS = INT(FICTIME / (60 * 60)) MOD 24 //時数

Intの括弧の位置がおかしいだけだと思います。

No.4013 2017/05/23(Tue) 16:22:34

Re: 現実の10倍の速さで動く仮想の時計を表示させたい / しろまさ
// 概要4対応です。

Dim gtS = GetTime(0, "2001/01/01 12:00:00") // 2000年1月1日 12:00:00 からの秒数
Dim gtN = GetTime()
Dim dif, gt10, s, n, h, d, dn = 60, dh = dn * 60, dd = dh * 24
WHILE !GETKEYSTATE(VK_ESC)
  dif = GETTIME() - gtN
  gt10 = dif * 10 + gtS //現実時間の秒数を10倍
  s = gt10 MOD 60 //秒数
  n = INT(gt10 / dn) MOD 60 //分数
  h = INT(gt10 / dh) MOD 24 //時数
// d = INT(gt10 / dd) MOD ?? //日数
  Fukidasi(h +":"+ n +":"+ s)
WEND

// NIBさんベースで作りましたがこれだと日を出すのが難しそうですね(月末判断)

No.4014 2017/05/23(Tue) 17:00:53

Re: 現実の10倍の速さで動く仮想の時計を表示させたい / NIB
拙い質問に迅速に答えていただき、本当に有難うございます。
お陰様で、暗雲から脱出できました。

言葉足らずで申し訳ありません。
スクリプト実行時の時間から時差を開始ではなく、実行時以外でも
GETTIME()で得られる秒数をもとに常に時間は流れているというものと書くべきでした。
複数人が不特定のタイミングで使うことを想定しています。

沢山の助言を頂いたもの、拙には未だ高度すぎる等、メンテナンス性を鑑み、
milesさんの記述+追記が時差の手動調整等で最も理想形でしたので、これを元に制作を進めたいと思います。

今回教えていただいた皆様の、高度と感じた記述の数々も理解できるよう更に勉強致します。
一人では永遠に抜け出せないままでした。重ね重ね本当に有難うございました。

No.4019 2017/05/24(Wed) 09:48:24
EXE作成で作成したEXEファイルがウィルス検知される / NEKO
UWSC Pro版で組んだ内容を「EXE作成」機能でEXEファイルを作成し、
Windows7端末で動作をさせていただのですが、最近になって
McAfeeでトロイの木馬と検知され、利用することができなくなりました。

Ver.5.3.0で追加された「デジタル署名(コードサイニング証明書)」を
利用することで検知を回避できますでしょうか。
また、他の方法がございましたらご教示のほどお願いいたします。

No.3968 2017/05/16(Tue) 20:32:01

Re: EXE作成で作成したEXEファイルがウィルス検知される / INU
関連してお知らせ致します。
UWSC Pro 5.23のプログラム自体も同様に、
Symantec Endpoint Protectionにて
Trojan.Gen.2扱いとなります。

No.3969 2017/05/17(Wed) 09:22:48

Re: EXE作成で作成したEXEファイルがウィルス検知される / SARU
関連して困っています。
「UWSC Pro Ver5.3.0.2  シェアウェア ダウンロード」もできません。
安全ではないということで、SmartScreenフィルタでブロックされてしまいます。

No.3970 2017/05/17(Wed) 09:39:42

Re: EXE作成で作成したEXEファイルがウィルス検知される / トリビア
UWSCのファイルに問題ないのであれば、
ウィルス対策ソフト側に言うべき事案だと思います。

No.3971 2017/05/17(Wed) 11:22:04

Re: EXE作成で作成したEXEファイルがウィルス検知される / 困りました
実行ファイルの作成方法がわからない以上、ウィルス対策ソフト側を説得させられないと思いますが、、、
最近になって、引っかかるようになりましたね。

No.3972 2017/05/17(Wed) 12:21:14

Re: EXE作成で作成したEXEファイルがウィルス検知される / SARU
旧版 Ver 5.2.3.0 シェアウエアはダウンロードできました。
また、McAfee 脅威スキャンでも問題ありません。
作成した実行モジュールも問題ありませんでした。
やはり、新パージョンには何か木馬が存在しているのかもしれません。
旧版で問題なければ、当面それで回避したらどうですか。

No.3973 2017/05/17(Wed) 13:10:14

Re: EXE作成で作成したEXEファイルがウィルス検知される / 困りました
私は5.2.3.0で作成したexeで引っかかります。
No.3976 2017/05/17(Wed) 23:51:51

Re: EXE作成で作成したEXEファイルがウィルス検知される / コンチ
既にクローズとなってしまった”UWSC530がマルウェアだと認識される”で投稿した者です。
本件カスペルスキーに問い合わせ・調査していただきました。
結果、「誤検知だったため、近々の定義データベースアップデートで対応する」との回答をいただきました。
これはインストールEXE誤検知への対応ですが、この対応で作成したExeへの誤検知も改善する可能性あるのでは?と思いますので情報としてUPしました。

No.3984 2017/05/19(Fri) 20:41:34

Re: EXE作成で作成したEXEファイルがウィルス検知される / 困りました
コンチ様 >> 情報有難うございます。

トリビア様のいわれるように、「ウィルス対策ソフト側に言うべき事案だと思います。」が有用なのですね。

しかし、ここ数週間のうちに、数多くのソフトで検出されてしまうのはなぜなのか、引っ掛かります。
利用者側で対処のしようがあるのでしょうか?

No.3985 2017/05/20(Sat) 00:14:05

Re: EXE作成で作成したEXEファイルがウィルス検知される / トリビア
コンチさん
カスペルスキーがきちんと取り合ってくれることは好印象ですね。

みなさん、気になるようでしたら解決策ではありませんが、
Vectorからダウンロードされてはいかがでしょうか。
Vector側で検疫はしているようですから。

こんなことで作者さまのモチベーション低下を引き起こさないことだけを祈ります。

No.3986 2017/05/20(Sat) 01:18:51

Re: EXE作成で作成したEXEファイルがウィルス検知される / 泉
Vectorで検疫していようと、企業内等で利用するゲートウェイやいくつかのアンチウィルスソフトウェアは、変わらず脅威として検出していますので解決になっていませんね。

この手の問題は提供者側が問題を解消しない限り、利用者は疑念をいつまでもぬぐい去ることが出来ません。
私はシェアウェア購入しているのもあって、やはり作者のサポートを期待しています。

No.3989 2017/05/20(Sat) 23:41:25

Re: EXE作成で作成したEXEファイルがウィルス検知される / satocha
会社のカスペルだったため、設定を変えられず途方にくれていましたが、先ほど試したところ
「脅威は見つかりません」になり、使用可能になりました。
コンチ様はじめ問い合わせされた方々のおかげだと思います。
ありがとうございました。

また、今バージョンから作者様のご尽力で認証を取得したとのことです。
ユーザ側からセキュリティ会社に問い合わせる際、認証を得ているソフトウェアですと話が進みやすいのではないかと期待しています。

umiumi様には重ね重ね感謝申し上げます。

No.3993 2017/05/21(Sun) 08:03:36

Re: EXE作成で作成したEXEファイルがウィルス検知される / しゅん
泉さん、この「提供者側」は、ウイルススキャンソフト制作側、ということですよね。

UWSCは何でもできます。
故に、UWSCを使って、ウイルスやルートキットを作ることも可能です。
そういう能力がある以上、誤検出から完全に逃れることはできません。
誤検出対策にもなると良いと思われて、コードサイニング証明書を導入されたかと思いますが、効果がなかったようで、残念です。
ちなみに、コードサイニング証明書をGMOから買うと年額57000円します。
umiumiさんはそれだけのことをされているのです。

対してウイルススキャンソフト側は何かしていますでしょうか?
カスペルスキーさんは、調査に時間を割いたようですね。
これで誤検出がなくなるなら素晴らしいです。
他のソフトウェア会社さんはどうでしょう。

なお、過去にも誤検出の戦いはいろいろあります。
この辺の事件も調べられてはどうでしょうか。
https://security.srad.jp/story/12/07/11/0257259/

No.4000 2017/05/22(Mon) 09:24:17

Re: EXE作成で作成したEXEファイルがウィルス検知される / しろまさ
>企業内等で利用するゲートウェイやいくつかのアンチウィルスソフトウェアは、変わらず脅威として・・

証明書が用意されたソフトをあなたが脅威と思うなら使用しなければいい。

そうでなく、企業に必要な利便性を生むものと思うなら、
セキュリティソフトの例外設定に登録してもらう申請ぐらい出来ますよね?
会社のためを思うならそのぐらいの行動はできませんか。

まあ、会社側が認めるかどうかはあなたの熱意しだいですけどね。

No.4001 2017/05/22(Mon) 09:38:13

Re: EXE作成で作成したEXEファイルがウィルス検知される / 泉
UWSCにケチをつけるつもりはありませんので、あしからず。
利便性を提供してくれるツールとして、購入、および利用させて頂いています。

ただ、コードサイニング証明書を取得しているのであれば、提供元で脅威の有無を確認する検証を行い、それを公式にアナウンスしてくれると助かります。
企業内では、個人の訴えより提供者の証明を求められがちですので。

No.4004 2017/05/22(Mon) 19:20:57

Re: EXE作成で作成したEXEファイルがウィルス検知される / bun
信用度という杓子の上では、次のようになっているのが基本だと思います。
 ↓
コードサイニング証明書 = 提供元で脅威の有無を確認する検証を行い = 公式にアナウンス

それが次のような心境だから心配だという意見のようですが、
 ↓
コードサイニング証明書 = 提供元で脅威の有無を確認する検証を行い = 公式にアナウンス < ユーザーの判断

結局、umiumiさんのことを信用できないのであれば、デジタル証明も信用できないし、公式アナウンスも信用できないのでは?

私は長年、UWSCを愛用してきて、umiumiさん(が提供してくれているUWSC)のことを最大限に信用しているので、自分自身の判断でバージョンに関わらず例外設定しています。

No.4005 2017/05/23(Tue) 00:56:09


 過去ログ(〜2017/03/22)・検索ツール


以下のフォームに記事No.と投稿時のパスワードを入力すれば
投稿後に記事の編集や削除が行えます。
199/200件 [ ページ : << 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 20 >> | 過去ログ ]