WebPenguin のすべての投稿

表示待ちして、処理

パワーポイントスライドショーファイルを起動して、表示されたら、画面をアクティブ(前面表示)させる

デジタルサイネージ表示を切り替えるのに、スライドショーファイル起動に時間がかかるので、背景をhtmlファイルで作成して、Google Chrome –start-maximizedかGoogle Chrome –kioskで表示させた

上手く、スライドショーファイルが前面表示にならない時があり、起動出来たら、アクティブにする操作ACTIVATE(TOPMOSTより、アクティブの方が安定した)

※注意 下記をコピーするとダブルクォーテーションが全角になるので半角に修正が必要

// ウィンドウ名にスライドを含むものが見つかるまで、1秒待ち
While GETID(“スライド”) = -1
SLEEP(1)
WEnd

// スライドを含むウィンドウをアクティブにして前面表示に
CTRLWIN(GETID(“スライド”),ACTIVATE)

コントロールパネルの項目をコマンドで開く

Windowsキー+Pauseボタンで設定を呼び出せるし、Windowsキー+Xキーでも事足りることも多いが、コントロールパネルを開きたい時がある

Windowsキー+Rのファイル名指定して実行あるいはショートカットを作成して、コントロールパネルの項目を開く

コントロールパネルを開くには(Windows11でも同様)
control
又は
shell:ControlPanelFolder

個人用設定]-[テーマ]画面にある「関連設定」の[デスクトップアイコンの設定]で、デスクトップアイコン表示もできる

コントロールパネル項目の名前を確認するには、Windows PowerShellで、
Get-ControlPanelItem

表示されるCanonicalNameをcontrol /name に続けて入力してコマンドを実行

例 電源オプション
control /name Microsoft.PowerOptions

例 デバイスとプリンター
control /name Microsoft.DevicesAndPrinters

例 デバイス マネージャー
control /name Microsoft.DeviceManager

例 RemoteApp とデスクトップ接続
control /name Microsoft.RemoteAppAndDesktopConnections

例 管理ツール
control /name Microsoft.AdministrativeTools

例 既定のプログラム
control /name Microsoft.DefaultPrograms

例 プログラムと機能
control /name Microsoft.ProgramsAndFeatures

SDメモリーカード書き込み禁止

SDメモリーカードは、書き込み禁止となっていて、レジストリ修正し、再起動が必要

拡張子 .reg のファイルに下記を書き込み実行

SD書き込み禁止解除.reg

 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\StorageDevicePolicies]
“WriteProtect”=dword:00000000

Windows起動時の自動ログイン設定

control userpasswords2 か netplwiz コマンドをWindowsキー+Rで入力し、実行

入力が必要のチェックを外して、パスワード入力

空パスワードの設定では、使えない機能があるので、設定するが、ログインを自動でさせたい時に利用

Windows11でも有効

ローカルでjavascriptをブラウザ表示

ウェブサーバ無しで、デジタルサイネージにjavascriptで作成したカウントダウン表示をブラウザで表示させる

C:\inetpubを、srv名でファイル共有にする
\\127.0.0.1\srv

この共有フォルダへ設定を記述したindex.htmlを置く

IEのローカルイントラネットゾーンへfile://127.0.0.1を登録

以下をBATファイルで実行(-k キオスクモード)

start “” “C:\Program Files (x86)\Internet Explorer\iexplore.exe” -k “\\127.0.0.1\srv\index.htm”

バッチファイルでアプリを実行

普通に記述すれば、アプリケーションは実行されるが、新しいウィンドウで別に実行させたい時は、startコマンドを使う

この場合は、応答を待つことなく、batファイルは進む

※Callを使うと、応答を待つ

start c:\tools\test.exe

start /wait c:\tools\test.bat としても処理を待つ

また、ウィンドウタイトルを指定しないと実行しない場合がある

rem パワーポイントスライドショーファイルを実行
start “” “c:\tools\test.ppsx”

start “Slide show” “c:\tools\test.ppsx”

バッチファイルで、バッチファイルを生成

タスクスケジューラを使ったりして、共有フォルダとローカルを同期処理する場合に、実行するBATファイルに共有フォルダパスをセットする必要がある

同期用のバッチファイルを実行した共有フォルダの位置をセットして、BATファイルを生成するBATファイルの例

rem ローカル変数定義
setlocal
rem カレントディレクトリ取得
set current_dir=%~dp0
rem 生成するバッチファイル
set FName0=C:\tools\配信.bat
rem リダイレクトで出力 >で新規
echo @echo off > %FName0%
rem リダイレクトで出力 >>で追記
echo set FName1=%current_dir%配信data >> %FName0%

rem 環境変数の記述自体を出力した時は、%を2つ記述
echo set FName2=C:\Users\%%USERNAME%%\Desktop >> %FName0%

※リダイレクトを連続すると処理が端末によっては処理が追い付かなくて、抜けることがあるので、間に待ちを入れる必要がある場合がある

rem 1秒待ち
timeout /t 1 /nobreak > nul

固定のファイルと動的に作成するファイルを結合する

ファイル名順に結合される
test01.bat 動的に作成
test02.bat 固定で準備

test01.batとtest02.batを結合して、test.batファイルを作成

copy test*.bat test.bat /b

※この操作で、複数のCSVファイルやログファイルを一つのファイルにまとめることも可能

※普通のコピーするとファイルの末尾に、ゴミコードの行が出来てしまうので、/bオプションを付けてバイナリモードでコピーする

※COPY /? HELP参照
複数のファイルを追加するときは、受け側に 1 個のファイルを指定し、送り側に複数のファイルを指定します (ワイルドカードを使うか、ファイル 1 + ファイル 2 +ファイル 3 と指定します)。