備忘録

備忘録

Windows

exe ファイルのアイコンをコマンドラインで変更する方法

Ⅰ. はじめに タイトルの通り「exe ファイルのアイコンをコマンドラインで変更する方法」です。 Ⅱ. やり方 1. rcedit を clone する git clone https://github.com/electron/rcedit 2. rcedit.sln を開き、ビルドする ※GitHub の Releases にアップロードされ…

Windowsでテキストファイル新規作成時の表示名を変更する方法

Ⅰ. はじめに Ⅱ. やり方 1. レジストリエディタで以下パスを開く 2. 以下のキーを探す 3. 任意の値に書き換える 実行結果 Ⅲ. その他 留意点 ファイルを素早く作成する方法 参考 Ⅰ. はじめに タイトルの通り「Windowsでテキストファイル新規作成時の表示名を変…

WindowsのSpectre, Meltdown軽減パッチを無効化する方法

Ⅰ. はじめに タイトルの通り「WindowsのSpectre, Meltdown軽減パッチを無効化する方法」です。 Ⅱ. やり方 1. コマンドプロンプトで以下のコマンドを実行する reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Manageme…

エクスプローラのナビゲーションウィンドウからDropboxを削除する方法

Ⅰ. はじめに タイトルの通り「エクスプローラのナビゲーションウィンドウからDropboxを削除する方法」です。 Ⅱ. やり方 1. レジストリエディタで以下を開く HKEY_CLASSES_ROOT\CLSID\{E31EA727-12ED-4702-820C-4B6445F28E1A} 2. System.IsPinnedToNamespaceT…

botanをWindowsでビルドする方法

Ⅰ. はじめに タイトルの通り「botanをWindowsでビルドする方法」です。 Ⅱ. 環境(必要なもの) ・Visual Studio 2017 Community (C++) ・Python 2.6以降 Ⅲ. やり方 1. リポジトリを clone する git clone https://github.com/randombit/botan 2. 「VS 2017用…

タスクトレイのアイコンを消す方法

Ⅰ. はじめに タイトルの通り「タスクトレイのアイコンを消す方法」です。 Ⅱ. やり方 C++の場合 #include <Windows.h> int main() { auto hWnd = FindWindow(L"ApplicationWindow", NULL); NOTIFYICONDATA data; data.cbSize = sizeof(NOTIFYICONDATA); data.hWnd = hWnd</windows.h>…

LinodeでWindowsを起動する方法

https://github.com/ClickSimply/docs/blob/windows-on-linode/docs/tools-reference/windows-on-linode/installing-windows-on-linode-vps.md

WPFでGridを使いコントロールの位置を動的に変更する方法

Ⅰ. はじめに Ⅱ. サンプルプログラム MainWindow.xaml MainWindow.xaml.cs Ⅲ. 実行結果 参考 Ⅰ. はじめに タイトルの通り「WPFでGridを使いコントロールの位置を動的に変更する方法」です。 Ⅱ. サンプルプログラム MainWindow.xaml <Grid Name="grid1" ShowGridLines="True"> <Grid.RowDefinitions> <RowDefinition Height="1*" MaxHeight="80"/> <RowDefinition Height="3*" /> </rowdefinition></rowdefinition></grid.rowdefinitions></grid>

Windowsでポートフォワーディングする方法

Ⅰ. はじめに タイトルの通り「Windowsでポートフォワーディングする方法」です。 Windowsではnetshコマンドを使います。 Linuxではiptablesやufwコマンドを使います。 Ⅱ. やり方 「127.0.0.1:8080に来たパケットを全て127.0.0.1:80に流す」設定を追加する ne…

VisualStudioでx64アセンブリを書き、実行する方法

Ⅰ. はじめに 2018/01/03時点、VisualStudioでプラットフォームをx64と指定した場合インラインアセンブリ(__asm)がサポートされていない為使えません。 エラー C4235 非標準の拡張機能が使用されています: '__asm' キーワードはこのアーキテクチャではサポ…

C++(EXE)からC#(DLL)の関数を呼び出す

Ⅰ. はじめに Ⅱ. 「C++/CLIを使う」方法 1. C++のプロジェクト設定を開き「共通言語ランタイム サポート (/clr)」に変更する 2. サンプルプログラム 3. 実行結果 Ⅲ. 「C#(DLL)側で関数をエクスポートする」方法 1. サンプルプログラム 2. DllExport.bat をダ…

Windowsでsyscallする方法

Ⅰ. はじめに タイトルの通り「Windowsでsyscallする方法」です。 この記事はWOW64を対象とした内容になっています。 x64向けはこちら http://kagasu.hatenablog.com/entry/2018/01/03/200337 Ⅱ. 環境 Windows 10 64bit 1709 Ⅱ. サンプルプログラム サンプル…

C#でChromiumを使う(WinForms, WPF)

Ⅰ. はじめに Ⅱ. WinFormsで使う場合 1. NuGetからパッケージをインストールする 2. プラットフォームをx86またはx64に変更する 3. サンプルプログラムを書く 4. 実行結果 Ⅲ. WPFで使う場合 1. NuGetからパッケージをインストールする 2. プラットフォームをx…

C++でWindowsのバージョンを取得する

Ⅰ. はじめに タイトルの通り「C++でWindowsのバージョンを取得する」方法です。 Ⅱ. サンプルプログラム #include <Windows.h> #include <iostream> typedef LONG NTSTATUS, *PNTSTATUS; #define STATUS_SUCCESS (0x00000000) #define OS_ANYSERVER 29 typedef NTSTATUS(WINAPI* Rt</iostream></windows.h>…

C++でプロセス名からプロセスIDを取得する

Ⅰ. はじめに Ⅱ. サンプルプログラム 1. CreateToolhelp32Snapshot を利用する場合 2. EnumProcesses を利用する場合 Ⅲ. 実行結果 Ⅰ. はじめに タイトルの通り「C++でプロセス名からプロセスIDを取得する」方法です。 Ⅱ. サンプルプログラム 1. CreateToolhel…

C++ リンカエラーを非表示にする方法

Ⅰ. はじめに タイトルの通り「C++ リンカエラーを非表示にする方法」です。 型キャスト等で出力されるコンパイラ警告は以下の一行で非表示にできますが、リンカエラーは #pragma では不可能です。 #pragma warning(disable:4312) コンパイラ警告の例 「C4312…

cpprestsdk をビルドしてstatic linkする

Ⅰ. はじめに cpprestsdk の使い方はこちらcpprestsdk はNuGetで dynamic link 版が配布されています。 static link 版は配布されていません。static link する為には2017/10/08時点、自分でビルドするしか方法がありません。 Ⅱ. 必要なもの VisualStudio 201…

C++でHTTP(S)でGET/POSTする(cpprestsdk の使い方)

Ⅰ. はじめに Ⅱ. なぜ「C++ RESET SDK(cpprestsdk)」を選んだのか Ⅲ. インストール方法 Ⅳ. GET 実行結果 Ⅴ. POST(JSON) 実行結果 Ⅵ. POST(form-urlencoded) 実行結果 その他 Ubuntuでコンパイルする時 参考 Ⅰ. はじめに .NET系 であれば WebClient や HttpCli…

OpenSSLをWindowsでビルドする方法

Ⅰ. はじめに タイトルの通り「OpenSSLをWindowsでビルドする方法」です。 コンパイル済みライブラリだけ欲しい人はこちら Ⅱ. 環境(必要なもの) ・Visual Studio 2017 Community (C++) ・Perl(ActivePerl を利用しました) ・OpenSSL 1.0.2l のソースコー…

SYSTEM権限でアプリケーションを実行する方法

Ⅰ. はじめに タイトルの通り「NT AUTHORITY\SYSTEM」でアプリケーションを実行する方法です。 Ⅱ. やり方 やり方は3つあります。 1. AprelTech社のRunAsSystemを使う方法 https://www.apreltech.com/Free/How_to_run_as_system_user非常にわかりやすいGUIがあ…

Administrator アカウントの有効化、無効化を行う方法

有効化 コマンドプロンプトで以下のコマンドを実行する net user administrator /active:yes 無効化 コマンドプロンプトで以下のコマンドを実行する net user administrator /active:no 参考 https://msdn.microsoft.com/ja-jp/library/windows/hardware/dn8…

Windows ダウンロードしたファイルをブロックさせない

Ⅰ. はじめに デフォルト設定の場合、インターネットからダウンロードしたファイルには自動的に「ゾーン識別子情報」が付加されます。 これによりファイルにアクセスしようとするとセキュリティの警告が表示されます。 Ⅱ. ブロックさせない方法(「ゾーン識別…

右クリックで出てくるSkyDrive Proを消す

Ⅰ. はじめに タイトルの通り「右クリックで出てくるSkyDrive Proを消す」方法です。 Office 2013をインストールすると右クリックに出てきます。 Ⅱ. 消し方 1. 以下のテキストをx.regという名前をつけて保存し、実行する。 Windows Registry Editor Version 5…

Windows 10 アプリのバックグラウンド実行を許可しない

Ⅰ. はじめに Windows10 では使っていないアプリでもバックグラウンドで動作していることがあるそうです。 Ⅱ. バックグラウンド実行を許可しない方法 1. Windows キー + I で設定を開く 2. 「プライバシー」→「バックグラウンドアプリ」 3. 「オフ」に変更す…

Windows10 右クリックの編集の関連付けを変更する

Ⅰ. はじめに タイトルの通り「Windows10 右クリックの編集の関連付けを変更する」方法です。 Ⅱ. やり方(拡張子がtxtの場合) 1. レジストリエディタを起動 2. 以下のキーに移動 HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell\edit\command 3. 任意…

Windows 10 でUACを無効にする

Ⅰ. はじめに タイトルの通り「Windows 10 でUACを無効にする」方法です。 無効にしてもユニバーサルアプリ(Edge等)の使用が可能です。レジストリの FilterAdministratorToken を書き換えても意味はありません。 Ⅱ. 動作確認済み環境 Windows 10 64bit 1703…

Windows 10 ナビゲーションウィンドウの邪魔なフォルダを消す

Ⅰ.はじめに 私個人としては「ビデオ」「ピクチャ」「ドキュメント」といったフォルダは頻繁に使用しないため非常に邪魔です。 消し方 1. 以下のテキストをx.regという名前をつけて保存し、実行する。 Windows Registry Editor Version 5.00 ; Desktop [-HKEY…

C++ で全ての例外を try catch 出来るようにする方法

Ⅰ. はじめに Visual Studioのデフォルト設定ではWindowsが発行する「システム的な例外」を捉えることはできません。 無効なメモリアドレスへのアクセス 0での割り算 等が「システム的な例外」に該当します。また、「『システム的な例外』をプログラム上で扱…

C++で複数プロセスから読み書き可能な共有メモリを作る

Ⅰ. はじめに あるプロセスのメモリ空間には他のプロセスからアクセスする事ができません。 OpenProcess してアクセス権を得てもメモリ上のどのアドレスに何のデータが保存されているか簡単に分かりません。 この問題は複数プロセスで共有して使えるメモリ空…

BCD を修正する

Ⅰ. はじめに BCD(Boot Configuration Data)(ブート構成データ)を修正する方法です。 Windows と Linux をデュアルブートした状態から Grub を消して Windows のみブートさせる場合などに必要な作業となります。 Ⅱ. やり方 1. ブート可能な Windows メディ…