イネマルのプログラミング備忘録

趣味プログラマのメモ

2020-01-01から1年間の記事一覧

Windows カスタムURLスキームの設定方法(URLからアプリを起動する)

メモ ブラウザからローカルのアプリケーションを起動するには、カスタムURLスキームを利用する。 Windows では、レジストリの設定により実現できる。 レジストリの設定 任意のアプリ(MyApp.exe)を登録する例 下記の設定で、myapp: が認識されるようになる…

レビュー: Razer Ornata を普段使いした雑感

メモ Razer Ornata を普段使いした感想。 Razer Ornata - Japanese | razer.com | Razer 日本 経緯 安物キーボードを2年以上使っているので、気分転換したくなった パンタグラフからの移行なので、薄型のキーボードを探していた Razer Ornata は、型落ちで…

WSH JScript Chakra エンジンの共存による機能制限の回避(WScript Quit 代替)

はじめに WSH JScript に Chakra を指定すると WScript Object の機能が制限される為、 WScript.Quit 関数が利用できず、戻り値を返す術が失われます。 今回は、この問題の対処例を挙げます。 前提 Windows 環境には、Windows Script Host(WSH)と呼ばれる …

JScript Chakra wscriptで、ECMAScript 2015 (ES6) を利用する

はじめに wscript を利用する際に、Chakra エンジンを指定する方法です。 cscript で JScript を利用する場合、Chakra エンジンを指定するために バッチファイルと組み合わせる方法がありますが、 wscript ではコマンドプロンプトの画面が不要なので、非表示…

V言語 vlang コンソールで入力待ちする

メモ ・OS 非依存 標準入力で待機する。 import os fn main() { // 入力待ち os.get_line() } ・Windows 環境 pause コマンドで待機する。 import os fn main() { // 入力待ち os.system('pause') }

WSH WSF JScript・VBScript で、YAML をパースする方法(js-yaml)

JScript や VBScript で yaml ファイルをパースしたいとき、 wsf形式と外部パッケージのjs-yamlで、簡単に実現できます。 github.com 実装 yamlファイル。(sample.yaml) 文字コードは、SJISを使用。 # 設定ファイル config: title: "AppName" width: 1280 …

WSH JScript で、高精度に処理時間を計測する(Performance API)

はじめに JScriptで、スクリプトの処理時間を計測するとき、 Date オブジェクトを使って計測することがありますが、これはミリ秒単位の精度です。 厳密な速度計測が不要であれば、ミリ秒もあれば事足りますが、 より精度の高いマイクロ秒単位が必要であれば…

WSH JScript で、JSONファイルをパースする(Chakra を利用する場合)

メモ 既定のJScript でJSONオブジェクトを利用する方法の別解。 Chakra エンジンを使うとJSONオブジェクトが定義済みで、そのまま使える模様。 実装 エンジンを指定するため、適当な .bat に埋め込んで使います。 0</*! :: @%windir%\System32\cscript.exe //nologo //E:{1B7CD997-E5FF-4932-A7A6-2A9E636DA385} "%~f0" %*||pause @pause rem 入力待機 @exit /b */0; (()=>{ try { // JSONをパース const jsonTxt = …

WSH JScript CScript プログレスバー

はじめに 軽く検索しても手軽なサンプルが見つからなかったので、 CScript と JScript を使ったコマンドライン環境向けに、プログレスバーを用意します。 ↓ のように動きます。 実装 最低限の機能があれば良いので、設定できるオプションは下記だけ。 MaxVal…

WSH wsf の resource を外部ファイルに切り出す(WSC を使った実装の分割)

はじめに WSH(.wsf) では、<resource>タグを使って任意のテキストデータをスクリプトに埋め込みできます。 しかし、設定ファイル用途で使用したり、ある程度容量が増えてきたりすると、外部ファイルに分割したくなります。 こういった場合ファイルの分割は、Windows Sc</resource>…

C++ CLI Processクラスから HINSTANCE を取得する

メモ C++/CLI 環境で、Process クラスで起動したプログラムのインスタンスハンドルを取得する方法。 Handleプロパティが、そのまま HINSTANCE として扱える。 実装 // 「ペイント」を起動 auto proc = gcnew System::Diagnostics::Process(); proc->StartInf…