タグ

C++とWin32APIに関するzetamattaのブックマーク (8)

  • COM インスタンスを作成する

    ここの備忘録は、あくまでも走り書き程度のメモ的なものですので気をつけてください。 そのままでもちゃんと動くもの、手を加えないとだめなものなど、未完成レベルのコードです。ので、そのまま引用してしまうなど、プログラムを理解する知識のない方は利用しないでくださいね。 今回は Visual Studio .NET の Visual C++ 7.0 で作成した ComTest という COM コンポーネントを同じく Visual C++ 7.0 のプログラム内で使用するという感じのお話です。VC++ 6.0 とは少しやり方が違ったようなので、まとめて見ました。 ComTest というコンポーネントには、IComTest インターフェイスと、CComTest という CoClass が用意されているものとします。タイプライブラリファイルは _ComTest.tlb です。

    zetamatta
    zetamatta 2013/03/08
    COMを使う C++ アプリケーションで下手にスマートポインタを使うと相手は死ぬ
  • Interface 研究室

    ◎Interface 研究室 ここは、いろいろな言語やらコンポーネントやらをつないでしまおう、ということを試みるページです。 たとえば、C/C++ のプログラムから Java のメソッドを呼んだり、Perl から Excel を操作したり・・・ いろいろ試行錯誤しながらやっていきたいと思います。 例によって、ソースのパクリ多いです(^^; 最初の数回は、COM コンポーネントの使い方のお話です。 1.VBScript/JScript から Internet Explorer を操作する[2005/03/18] 2.C++ から COM 経由で Internet Explorer を操作する(Early Binding 版)[2005/03/29] 3.C++ から COM 経由で Internet Explorer を操作する(Late Binding 版)[2005/05/05]

    zetamatta
    zetamatta 2012/04/13
    VBScript/JScript/C++ から COM コンポーネントを呼び出す
  • VARIANT型を知ってみる

    ホーム < ゲームつくろー! < IKD備忘録 C++ VARIANT型を知ってみる (2009. 9. 9) VARIANT型は何でも格納できる便利な変数で、VBA(Visual Basic for Application)などではお馴染みの型です。と言っても私はVBAをちょこっとしか触った事が無いのですが(^-^;。COMプログラムでサーバ側を作っていると、これをC++で使う必要が出てきます。でも良くわからない・・・ので、調べてみました。 ① VARIANT型とは? まずC++側で定義されているVARIANT型の宣言を見てみます: struct tagVARIANT { union { struct __tagVARIANT { VARTYPE vt; WORD wReserved1; WORD wReserved2; WORD wReserved3; union { LONGLONG

    zetamatta
    zetamatta 2012/03/07
    Win32でCOMを使うにあたって必要な VARIANT 構造体の解説
  • COM を学ぶ(6) : C言語でExcel を操作する(Mingw) - sirocco の書いてもすぐに忘れるメモ

    C++ を Haskell から呼ぶのが大変だというのが分ったので、Ruby の win32ole.c を参考にC言語で Excel を操作する関数を書いてみました。 これらの関数を Haskell から呼べば HaskellでExcel を操作出来ます(^^)/ C++ ではシートから行・列を指定してCellsオブジェクトを取得しましたが、C で同じ方法だと取得に成功はするものの文字化け。 シートからRengeとセル名 "C2" を指定してDISPID_PROPERTYGET を指定して invoke 関数を呼びました。 DISPID_PROPERTYPUT のときは渡すパラメータが別に必要のようです。 VARIANT の配列を作って渡す方法が分らなくて泣きそうだった・・・。プログラマー's研究所/研究日誌 COMの呼び方に感謝です。 "Renge" "C2" を指定するのは win32

    COM を学ぶ(6) : C言語でExcel を操作する(Mingw) - sirocco の書いてもすぐに忘れるメモ
    zetamatta
    zetamatta 2012/02/03
    MinGW で COM を使う、よいサンプル。貴重
  • 雲丹昆布(ウマソー

    目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 1078 記事 - 2 コメント - 26137 トラックバック - 363 ニュース 著作とお薦めの品々は 著作とお薦めの品々は 東方熱帯林へ。 わんくま 東京勉強会#2 C++/CLI カクテル・レシピ 東京勉強会#3 template vs. generics 大阪勉強会#6 C++むかしばなし 東京勉強会#7 C++むかしばなし 東京勉強会#8 STL/CLRによるGeneric Programming TechEd 2007 @YOKOHAMA C++C++/CLI・C# 適材適所 東京勉強会#14 Making of BOF 東京勉強会#15 状態遷移 名古屋勉強会#2 WinUnit - お気楽お手軽UnitTest CodeZine Cで実現する「ぷちオブジェクト指向」 CUnitによるテスト駆

    zetamatta
    zetamatta 2010/12/21
    UTF16(wstring)⇔SJIS を IBM-ICU とか.NET などを使わず、Windows API だけでコンバートするクラスライブラリ
  • Win32アプリのコマンドライン引数を解析するラッパー関数を書く - 新・日々録 by TRASH BOX@Eel

    コードは id:eel3:20090207:1233932887 で既出だけど、一応分けて書いておく。 問題編 普通にC言語のアプリ(Visual C++で言うところのWin32コンソールアプリ)を書く場合、コマンドライン引数は個別にargvに格納される。 Win32アプリでアプリケーションエントリーポイントがWinMain()の場合、コマンドライン引数はlpCmdLineに格納されるのだけど、 実行ファイル名が含まれていない。 オプション毎にパースされていない。 という、何というか不便なことになっている。 例えば $ hoge.exe foo "bar bar" bazと実行した場合、lpCmdLineの中身は「foo "bar bar" baz」と、スペース等を含む1つの文字列になっている。 実行ファイル名についてはGetCommandLine()というAPIを使えば取得できる。 LP

    Win32アプリのコマンドライン引数を解析するラッパー関数を書く - 新・日々録 by TRASH BOX@Eel
    zetamatta
    zetamatta 2010/10/28
    WinMain を使うGUIアプリの場合に自分に与えられたコマンドラインパラメータを取得する方法。CUI だったら、argv なんですけどね
  • Download Visual Studio 2005 Retired documentation from Official Microsoft Download Center

    All Microsoft Global Microsoft 365 Teams Copilot Windows Surface Xbox Deals Small Business Support Software Windows Apps AI Outlook OneDrive Microsoft Teams OneNote Microsoft Edge Skype PCs & Devices Computers Shop Xbox Accessories VR & mixed reality Certified Refurbished Trade-in for cash Entertainment Xbox Game Pass Ultimate PC Game Pass Xbox games PC and Windows games Movies & TV Business Micro

    zetamatta
    zetamatta 2010/06/05
    スレッドを開始する関数のリファレンス
  • 1-4-7.標準関数とWIN32APIの対応表(Windows API Topics)

    1-4-7. 標準関数とWIN32APIの対応表 メモリ操作 _memccpy --- memchr --- memcmp --- memcpy CopyMemory _memicmp --- memmove MoveMemory memset FillMemory, ZeroMemory _swab --- 文字操作 isalnum IsCharAlphaNumeric isalpha IsCharAlpha, GetStringTypeW (Unicode) __isascii --- iscntrl ---, GetStringTypeW (Unicode) __iscsym --- __iscsymf --- isdigit ---, GetStringTypeW (Unicode) isgraph --- islower IsCharLower, GetStringTypeW (

    zetamatta
    zetamatta 2010/03/13
    これはありがたい。
  • 1