gaggitのブログ

コーディング、ガジェット、TIPS関連、FX

タスクスケジューラでGuiTestが作動しなくなる件

perlのGuiTestを使用して、ブラウザから約定結果を自動出力するようにプログラムしたのですが、タスクスケジューラからMoveMouseなどのGuiTestの機能が動作しなくなっていました。

原因は、「全般」タブのセキュリティオプションで「ユーザーがログオンしているかどうかにかかわらず実行する」にチェックを入れた為、機能しなくなっていました。

 

f:id:gaggit:20201001230842p:plain

タスクスケジューラのプロパティ

上図のようにの一番上の「ユーザがログオンしているときのみ実行する」(デフォルト)に変更すると、通常通り機能しました。

 

p.s.

最近は、PythonとAIを勉強中です。プログラミングのテーマは決まっているのですが、後は時間とモチベーションが問題です。

BMAX Y11 BIOS画面 表示方法

BMAX Y11を昨秋に購入しました。たまにパッドで誤動作しますが、筐体自体は薄くて軽くなかなか、よいです。暇つぶしにBIOSを確認しようとしたところ、F2キーではBIOS画面が起動せず、電源オン時にESCキーでBIOS画面が表示されました。なお、BIOSの提供会社はAmerican Megatrends Inc.でした。

Perlでのメール送信のコツ

 使用するモジュールは、Net::SMTPSです。(いろいろモジュールを試して、一週間。このモジュールにたどり着きました)

使用するポート番号は、587で、doSSL=>'starttls'でTLSを設定します。

 

GmailとYahooメールで送信ができることを確認済みです。

Gmailでは、WebでGoogleアカウントの「セキュリティ」メニューから「安全性の低いアプリのアクセス」をオンに設定して下さい。

参照サイトでは、アプリのパスワードを使用して成功しているようですが、使用するパスワードは、アプリのパスワードではなく、Gmailアカウントのパスワードでした。

私は、送信時にUTF-8のキャラクタセットを使用しているので、datasendでContent-Typeにtext/plain; charset=UTF-8を設定し、受信側のエンコードを記述して下さい。

$msg->datasend("Mime-Version: 1.0\n");
$msg->datasend("Content-Type: text/plain; charset=UTF-8");
$msg->datasend("Content-Transfer-Encoding: 8bit\n");

 

参照サイト:

 

end0tknr.hateblo.jp

Windows版OpenSSLインストール手順

OpenSSLのバージョン1.0.2tのインストール手順です。なお、バージョン1.1.1dでは、MinGWを推奨しており、Visual StudioのBuildToolではmakeには成功しますが、全部のテストには成功しません。そのあたりの話は、NOTES.WINに書かれています。

 

前提条件

OSはWindows10(1909)の`64bit版、ビルドには、Microsoft Visual Studio`2019のBuildToolを使用。なお、Perlのバージョンは5.28.1です。

 

1.OpenSSLのダウンロード

以下の「Downloads」からOpenSSL-1.0.2t.tar.gzをダウンロードし、解凍する。

https://www.openssl.org/

 

2.環境設定

OS64bitで、64bitモードでのビルド環境を設定します。

「スタート」「メニュー」「Visual Studio 2019」「x64 Native Tools Command Prompt for VS 2019」をクリックします。

 

3.ビルド

 解凍したディレクトリに移動し、INSTALL.W64の「To buiild for Win64/x64:」に従って、以下を実行します。

perl Configre VC-WIN64A --prefix=(OpenSSLをインストールするディレクトリ)

ms\do_win64a

nmake -f ms\ntdll.mak

cd out32.dll

../ms/test

 

 

参照リンク

docs.microsoft.com



 

 

MT4 array out of range

久々にMT4でコーディングしています。もう7,8年ぶりぐらいなので、すっかり忘れてます。今回、デフォルトでついてくるパラボリックSARのソースを基にdouble型の配列にLow[0]の値を代入していたのですが、「array out of range」が発生しました。

(下記は、抜粋)

変更前

double ExtSARBuffer;

ArrayInitialize(ExtSARBuffer,0.0);
ExtSARBuffer[0]=Low[1];

 

変更後

double ExtSARBuffer;

ArrayResize(ExtSARBuffer,1001,10);
ArrayInitialize(ExtSARBuffer,0.0);
ExtSARBuffer[0]=Low[1];

 

変更点は、配列のイニシャライズの前にArrayResize()を使用して、メモリを割り当てています。逆に言うと、元のパラボリックSARのソースがエラーもなくなぜ動作するのか、不思議です。

 

Virtualboxでマルチディスプレイにする方法

ディスプレイを2つ持っていると、やっぱりVirtualboxの画面も複数表示したい。

少し手間取ったので、Virtualboxでマルチディスプレイにする方法をメモ書きしときます。

簡単に説明すると、ゲストOS側にGest Additionsをインストールします。

0.環境

Virtualbox:6.0.4

ホストOS:Ubuntu18.04

ゲストOS:Windows10 1809

 

1.設定

Virtualbox を起動します。

○「設定」「ディスプレイ」クリックします。

○右メニューの「ディスプレイ数」を2に増やします。

 

2.Gest Additionsのインストール

○GestOSを起動します。 

○メニューバーに「デバイス」の項目があることを確認します。

 メニューバーは、ゲストOS名「実行中」と表示されている下に表示されます。

  表示されていない場合には、3.メニューの表示方法で設定してください。

○「デバイス」をクリックし、「Gest Additions CD イメージの挿入」を選択します。(なんの反応もない)

○ログイン後、エクスプラーを立ち上げて、光ディスクのドライブに移動します。

○VBoxWindowsGestAdditions.exeをダブルクリックし、Gest Additionsをインストールします。

○再起動を訊いてくるので、再起動します。

○再起動後、「表示」「仮想スクリーン2」をクリックし、「有効」にチェックを入れます。

チェックを入れると、仮想スクリーン2が表示されます。

 

3.メニューの表示方法

○左メニューの「ユーザーインターフェース」をクリックします。

○一番右側のヘルプの右にあるチェックボックスにチェックを入れます。

 

余談

ステータスバーを表示させるには、メニューバー「表示」「ステータスバー」「ステータスバーの表示」をクリックします。

今回、表示できる画面サイズを広く取ろうと思い、メニューバーやらステータスバーやら非表示にしていたら、戻すのに苦労させられました。

MEGAのストレージ容量について

MEGAのストレージ容量について、少しわかったので、報告しておきます。

確認方法は、以下です。

スマホのブラウザで、https://mega.nz/にアクセスし、ログインします。

○右上の「設定」アイコンをクリックし、「アカウント設定」を選択します。

○「実績」をクリックすると、容量の内訳が表示されます。

(PCのブラウザからだと、なぜか実績という項目が表示されません)

登録実績で、+35GB 期間:30日

MEGAsyncをインストールするで、+20GB 期間:180日(40GB)

当社のモバイルアプリをインストールするで、+15GB 期間:180日(30GB)

 

期間を経過すると、括弧書きの容量が転送制限されます。

あと、人を紹介すると、+10GB増えるようですが、期間:不明(20GB)の転送制限となるようです。