C#からWin32APIを使ってみる
Bonjour!!
副業の方で今はC#を触ってるんですけど、こないだC#でC++のライブラリを呼び出すといった内容の
学習で、少しWin32APIを触りました。
いろいろ難しくて、備忘録としてここに残します。
●C#側での定義
- [Dllimport(kernel32.dll)]
- extern static bool Beep(uint dwFreq , uint dwDuration)
●Win32APIの関数定義
BOOL Beep(DWORD dwFreq, DWORD dwDuration);
引数1は音の周波数(37~32767)、引数2は長さ(ms)になります。
引数のDWORD型はC#ではuintで定義する。
C#で定義する際に対応する型に書き換えて定義する。
例)
- class BeepFunction
- {
- [Dllimport(kernel32.dll)]
- extern static bool Beep(uint dwFreq , uint dwDuration);
- public static void BFunc(){
- BEEP(111 , 200);
- BEEP(222 , 200);
- BEEP(333 , 200);
- }
- }
●呼び出し
BeepFunction.Bfunc();
これで3種類のブザーが鳴ります。
Au revoir!!