kkAyatakaのメモ帳。

誰かの役に立つかもしれない備忘録。

2014-11-01から1ヶ月間の記事一覧

Win32 APIを使ってOSを再起動する

ちょっと必要になって調べてた。呼び出す関数はExitWindowsExなんだけど特権の調整が必要で単純に呼び出すだけでは成功しない。 ExitWindowsExから調べていって、LUID_AND_ATTRIBUTESのところで... Its meaning is dependent on the definition and use of t…

C#のラムダをWin32呼び出しで使う

あたり前っちゃーあたり前なんですが、Win32を呼び出す際の選択肢として、なぜかラムダを使うという選択肢が思いつかなかった。 delegate Boolean EnumWindowProc(IntPtr hwnd, IntPtr lp); [DllImport("User32.dll")] private static extern Boolean EnumWi…

C++のラムダがCのコールバックにつかえる

ためしにやったら動いた。さすがC++。 #include <Windows.h> #include <iostream> int main() { HWINSTA sta = GetProcessWindowStation(); EnumDesktops( sta, [](LPTSTR desktop, LPARAM lp)->BOOL { std::cout << desktop << std::endl; return TRUE; }, 0); } Win32は列挙系で</iostream></windows.h>…