タグ

2013年12月27日のブックマーク (6件)

  • .NET TIPS Win32 APIやDLL関数に構造体を渡すには? - C# - @IT

    TIPS:Win32 APIやDLL関数を呼び出すには? では、.NETのプログラムからWin32 APIやDLLファイルにある関数を呼び出すための基的な手順を解説している。ここではそれらDLL関数に渡すパラメータが「構造体」である場合の取り扱い方法について解説する。 .NET FrameworkからWin32 APIやDLL関数を呼び出す場合に、パラメータや戻り値に構造体が使用されているときは、その構造体と等価なものをC#で改めて定義しなければならない。Win32 APIで使用する構造体は、TIPS:Win32 APIやDLL関数を呼び出すには? で解説している定数と同様に、プラットフォームSDKのヘッダ・ファイルにその定義がある。また、構造体に関してはMSDNのドキュメント類にも定義が記述されている。 例えば、Win32 APIでしばしば使用される構造体の1つにPOINT構造体がある

    streetbeats21
    streetbeats21 2013/12/27
    ] struct RECT { public int left; public int top; public int right; public int bottom; }”
  • .NET TIPS Win32 APIやDLL関数に文字列や文字列バッファを渡すには? - C# - @IT

    TIPS:Win32 APIやDLL関数を呼び出すには? では、.NETのプログラムからWin32 APIやDLLファイルにある関数を呼び出すための基的な手順を解説している。ここではそれらDLL関数のパラメータが、文字列や文字列バッファの場合について解説する。 DLL関数に文字列を渡す場合 .NET FrameworkからWin32 APIやDLL関数を呼び出す場合に、パラメータとして文字列を渡す場合は、そのパラメータや戻り値の型としてstring型を指定する。ただし一口に文字列といっても、この場合にはANSI文字セット(日語の場合はシフトJIS)で表現された文字列と、Unicodeで表現された文字列の2種類があるので注意が必要だ。ちなみに、.NET Frameworkの内部では文字列をUnicodeで処理しているが、Win32 APIやDLL関数に文字列を渡す場合は、デフォルトでAN

  • @IT:.NET TIPS Win32 APIやDLL関数を呼び出すには? - C#

  • NonSoft - VB6とC#.NETのAPI宣言(Declare)の違いを比較したサンプル

    長年VB6のプログラマをやっていた技術者がC#.NETでプログラムを作る時によく悩むのが APIの宣言方法と引数の渡し方だと思います。特にVB6でAny、String、構造体を使っていた時に C#.NETではどうするのか、、、長時間、検索エンジンに頼る事になると思います。 (C#.NETAPIなんか使うな!! とか言わないの・・・) VB6とC#.NETのDeclare(宣言)方法の違いのポイントは以下のような感じです。 (1)VB6のDeclareはC#.NETの[DllImport("mydll.dll")]に対応します。 (2)VB6のLongは4バイトなのでVB.NETのIntegerは4バイト(Longは8バイト)に対応します。 (3)VB6の"String * 10"のような変数の宣言はC#.NETの"new String((char)0, 10)"に対応します。 しかしC#

  • C#におけるref修飾子とout修飾子の違い - つばろぐ

    はじめに 私は仕事ではC#を主に使用しています。 その中でメソッドのパラメータに付記する修飾子[ref]と[out]は、何が違うのか検証してみます。 ref修飾子 msdnリファレンスより ref キーワードをつけると、引数の値ではなく参照が渡されます。 参照渡しにより、メソッドの引数への変更が、呼び出し元のメソッドから引数として渡された元の変数へ反映されるようになります。 参照パラメーターの値は、引数の基になる変数の値と常に同じです。 out修飾子 msdnリファレンスより out キーワードを使用すると、引数が参照渡しされます。 これは ref キーワードに似ていますが、ref の場合は、変数を初期化してから渡す必要があります。 out パラメーターを使用するには、メソッド定義と呼び出し元のメソッドの両方で out キーワードを明示的に使用する必要があります。 違いは? ref修飾子は

    C#におけるref修飾子とout修飾子の違い - つばろぐ
  • Excel から使うマネージDLL を作る。 | supermab's blog

    きょうは、マネージDLLを Excel から使う方法についてあれこれやってみます。ほぼ、自分のための備忘録です♪ やった時に書いておかないと、すぐに忘れちゃいますから~♪ で、話がそれますが・・・自分は日頃、C# を使っています。が!Excel を使っている方にはVB.Net のほうがわかりやすいと思いますので、VS でなく、Excel-DNA と同じく CodePlex で公開されている SharpDevelop という IDE を使って実験していきたいと思います。SharpDevelop は、例えば C# で書いたコードや VB で書いたコードを、相互に変換するだけでなく、Boo/Ruby/Python といった言語に簡単に変換してくれるところが便利です。VS 互換ですので、VS で作成した既存のソリューションを開くこともできますし、SharpDeverop で作成したソリューションを