→OS関連
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" ` -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
char buf[] = "イベントログに記録したいメッセージ"; LPCSTR lpBuf = buf; hEvent = RegisterEventSource( NULL, "hogehoge" ); if (hEvent != NULL) { //イベントログ書き込み bRet = ReportEvent( hEvent, EVENTLOG_ERROR_TYPE, 0, 1, NULL, 1, 0, &lpBuf, NULL); if ( bRet == FALSE ) { DWORD err = GetLastError(); LPVOID lpMsgBuf=NULL; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER |FORMAT_MESSAGE_FROM_SYSTEM |FORMAT_MESSAGE_IGNORE_INSERTS, NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // 既定の言語 (LPTSTR) &lpMsgBuf,0,NULL ); OutputDebugString((LPCSTR)lpMsgBuf); LocalFree(lpMsgBuf); } }
SetErrorMode( SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
[DllImport("user32.dll")] public static extern int GetSystemMetrics(int nIndex); const int SM_CXSCREEN = 0; const int SM_CYSCREEN = 1; //デスクトップ画面全体 const int SM_CXFULLSCREEN =16; const int SM_CYFULLSCREEN =17; //フルスクリーンにしたときのクライアント領域(ステータスバー分が入らない) const int SM_CXMAXIMIZED=61; const int SM_CYMAXIMIZED=62; //フルスクリーンにしたときの全体(タスクバー分が入らない)
void SetAbsoluteForegroundWindow(HWND hWnd) { int nTargetID, nForegroundID; DWORD sp_time; // フォアグラウンドウィンドウを作成したスレッドのIDを取得 nForegroundID = GetWindowThreadProcessId(GetForegroundWindow(), NULL); // 目的のウィンドウを作成したスレッドのIDを取得 nTargetID = GetWindowThreadProcessId(hWnd, NULL ); // スレッドのインプット状態を結び付ける AttachThreadInput(nTargetID, nForegroundID, TRUE ); // TRUE で結び付け // 現在の設定を sp_time に保存 SystemParametersInfo( SPI_GETFOREGROUNDLOCKTIMEOUT,0,&sp_time,0); // ウィンドウの切り替え時間を 0ms にする SystemParametersInfo( SPI_SETFOREGROUNDLOCKTIMEOUT,0,(LPVOID)0,0); // ウィンドウをフォアグラウンドに持ってくる SetForegroundWindow(hWnd); // 設定を元に戻す SystemParametersInfo( SPI_SETFOREGROUNDLOCKTIMEOUT,0,sp_time,0); // スレッドのインプット状態を切り離す AttachThreadInput(nTargetID, nForegroundID, FALSE ); // FALSE で切り離し }
Get-WmiObject -Class Win32_Account -ComputerName "localhost" | select Status,Name,SIDType,SID