dotnet publishコマンドでPublishSingleFile(単一ファイル出力)をする(あと-p:IncludeNativeLibrariesForSelfExtractの実験)

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 以前の記事で、「dotnet publishコマンドだと、どうやってもPubishSingleFileがうまくいかない(exeが1個だけ出力されてほしいのに、依存dll類が全部出てきてしまう)」ということを書い…

クラス内にウインドウを持ったときに、WndProc内でthisが見えずクラスメンバ関数が呼べないのを何とかする(GetWindowLongPtr/SetWindowLongPtrとGWLP_USERDATAを使う)

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと ウインドウプロシージャの中で、クラスのthisポインターを使いたい。(thisポインタを使って、クラスのメソッドを呼び出したい) ・・・ C++のウインドウをもつデスクトップアプリだと、…

mt.exeでexeが抱えているマニフェストを出力する

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと exeが抱えているマニフェストファイルに正しい設定が行われているかを確認するためにファイルとして出力したい。 やったこと mt.exe を使う。 ※ただし、必要な個所にパスが通っている「開…

マニフェストファイルをC++プロジェクトに追加する

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 「マニフェストファイル」をC++アプリ(exe)に適用したい。 C#だったら、プロジェクトを右クリックして、追加 > マニフェストファイル、みたいに簡単にできるのに、C++はできない。どうし…

ProcDumpで、なんとなくtry catchで握りつぶしている例外(ファーストチャンス例外)発生を検知する

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと C#やりはじめのころ、 なぜかははっきりとはわからないが「例外」がおきる でもそれでプログラムがクラッシュすると困る だからtry catchで囲んで、なかったことにしてしまおう(握りつぶ…

github copilotを使うまで

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 仕事で、github Copilotに触れる機会があった。 そこでこういうこともできる!ああいうこともできる!!みたいなのを聞いて、自分でも試してみたくなった。 どうやら、自分のgihubアカウ…

std::format() チートシート

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと C++で、数値を書式指定して文字列に直したいとき、昔ながらの char buf[256] = { 0 }; sprintf_s(buf, "%d", 123); printf_s(buf); という書き方をしていたが、現代(C++20)では、 std::fo…

範囲for文

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと for文と言えば、下記のようなものと思っていた。 for (int i = 0; i < 5; i++) { std::cout << i << std::endl; } 出力 0 1 2 3 4 が、今日こんなfor文を見た。 std::vector<int> list = {1,2,</int>…

schtasks で、登録済みのタスクを無効にする

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 登録済みのタスクスケジューラのタスクを、deleteせずに無効化したい。 やったこと 下記のコマンドで行う。 schtasks /Change /TN "タスク名" /Disable 別解 powershellコマンドでもでき…

net use でネットワーク上のPCにログインする

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと LANケーブルで直接接続したPCに共有フォルダを作って、そのフォルダにアクセスするときに、毎回 エクスプローラーのアドレスのところに\\192.168.111.111みたいにアドレスを入れて、 ユー…

UiAccess=trueにして、権限の高いアプリにWindowMessage(WM_xxx)を送る

前提 VisualStudio2022 version 17.11.2 Windows11 24H2 で実験。 UiAccess=trueとは? 下記のページに書かれてる内容。 Security Considerations for Assistive Technologies https://learn.microsoft.com/en-us/windows/win32/winauto/uiauto-securityover…

exeに自己署名(オレオレ署名)する方法

もくじ https://tera1707.com/entry/2022/02/06/144447 前提 下記環境で試した。 VisualStudio2022が入ったPC使用 2025/01/02時点に実験 windows11 24H2 とりあえず自己署名ができるようになるまでをゴールとする。(署名について、理解するのはまた別途...…

インストールされてるアプリのAUMID(アプリケーションユーザーモデルID)を列挙する & Start-Processでそのアプリを起動する

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと AUMIDを使って、UWPのアプリを起動したいことがあった。 で、そもそもAUMIDをどうやって知るのか?がわからなかった。 →調べたい。 やりかた 下記をpowershellで実行する。 Get-StartApps…

必要なdllが足りてない例外でアプリが落ちてるときの調べ方(案)

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 開発PCではご機嫌にうごいていたアプリ(exe)が、クリーンインストールしたwindowsのような、きれいな環境にもっていくと、とたんに動かなくなることがある。 で、イベントビューアを見る…

Dumpbin Dependentsで調べた依存ファイルがそのPC内にちゃんとあるか調べるバッチを作る

これでいけそう? 未確認なので、試してみる。 @echo off setlocal enabledelayedexpansion call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" cd %~dp0 :: 引数で渡されたファイル名を取得 set INPUT_FILE=%1 ::…