システム情報、ハードウェア情報を表示するためのバットコード
2022-02-10 04:29:04
dosコマンドでシステム情報を表示、バッチ処理でハードウェア情報を表示
これは、どのように表示する必要があるかによります。
1. cmdウィンドウ表示
2. プログラムウィンドウ表示
3. テキストビュー
方法1.cmdウィンドウ表示。
[DllImport("Kernel32.dll", CharSet = CharSet.Ansi,SetLastError =true)]
public static extern void OutputDebugString(string lpOutputString); //used to Debug
[DllImport("Advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
public static extern bool OpenProcessToken([In]IntPtr ProcessHandle, [In]uint DesiredAccess, [Out]out IntPtr TokenHandle);
[DllImport("Advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
public static extern bool DuplicateTokenEx([In]IntPtr hExistingToken, uint dwDesiredAccess,IntPtr lpTokenAttributes, SECURITY_IMPERSONATION _LEVEL ImpersonationLevel,
[In]TOKEN_TYPE TokenType, [Out]out IntPtr DuplicateTokenHandle);
[DllImport("Kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
public static extern uint WTSGetActiveConsoleSessionId();
[DllImport("Advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
public static extern bool SetTokenInformation(IntPtr TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, IntPtr TokenInformation, uint TokenInformationLength);
[DllImport("Userenv.dll", CharSet = CharSet.Unicode, SetLastError = true)]
public static extern bool CreateEnvironmentBlock([Out]out IntPtr lpEnvironment,[In]IntPtr hToken,[In]bool bInherit);
[DllImport("Advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
public static extern bool CreateProcessAsUserW([In]IntPtr hToken,[In][MarshalAs(UnmanagedType.LPWStr)]string lpApplicationName,[In][ MarshalAs(UnmanagedType.LPWStr)]string lpCommandLine, [In]IntPtr lpProcessAttributes, [In]IntPtr lpThreadAttributes, [In] bool bInheritHandles, [In]uint dwCreationFlags, [In]IntPtr lpEnvironment, [In][MarshalAs(UnmanagedType.LPWStr)] string lpCurrentDirectory, [Out ] IntPtr lpStartupInfo,[Out] IntPtr lpProcessInformation);
方法2.プログラムウィンドウ表示。
IntPtr pToken ;
OpenProcessToken(Process.GetCurrentProcess().Handle, Win32.TOKEN_ALL_ACCESS, out pToken) if (!Win32.OpenProcessToken(Process.GetCurrentProcess().Handle, Win32.TOKEN_ALL_ACCESS, out pToken)) //Get the current Token
{
Win32.OutputDebugString("Open Token ERROR: " + Win32.GetLastError());
return;
}
uint session_id = Win32.WTSGetActiveConsoleSessionId();
方法3.テキスト表示。
IntPtr hTokenDup = IntPtr.Zero;
If (!Win32.DuplicateTokenEx(pToken, Win32.MAXIMUM_ALLOWED, IntPtr.Zero, Win32.SECURITY_IMPERSONATION_LEVEL.SecurityIdentification, TOKEN_TYPE.TokenPrimary, out hTokenDup))
{
Win32.OutputDebugString("DuplicateTokenEx ERROR:" + Win32.GetLastError());
return;
}
関連
-
cmdデスクトップショートカット一括作成ツール
-
Windowsのbatスクリプトコマンドを使用してワンクリックでMySQLサービスを開始する方法
-
phpsh hpcli開発の究極のソリューション(php版切り替えバッチ処理)
-
一括リネーム方式
-
1台目のハードディスクの最後のパーティションを決定し、バットコードを入力するバッチ処理
-
プリントキャッシュをクリアして、プリントサービスを再起動する(dos環境)。
-
IPアドレス自動設定一括コード共有
-
cmd.exe 共通スタートアップ・パラメーター入門
-
BATとHTMLのハイブリッドプログラミングの記述方法
-
shutdownコマンドによるリモートシャットダウンとリブート
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
バッチバットは、同じ内容のtxtテキストの最初の列の最後の列に数字を追加する
-
BATが空間のある時間を手に入れるための解決策
-
一般的なDOSコマンドのまとめ
-
指定したディレクトリにある全ファイルの一覧を取得するバッチ処理(bat)です。
-
管理者ユーザーを作成するためのdosnetの実装
-
Windowsでバッチファイル.batを使用して古いファイルを削除する。
-
batコマンドのバッチプロセスは、32ビットまたは64ビットシステムかどうかを判断するために、さまざまな方法
-
JDKの一括インストール/JREのワンクリックインストールとJava環境変数の自動設定
-
ワンクリックcmdでJavaの環境変数を表示、変更(上書き、追加)などを設定。
-
N日前または指定日時(前後)に作成(または変更)されたファイルをバッチ処理で削除する。