討論區快速選單
知識庫快速選單
最新資訊:Oracle 資料庫全面升級12c! 傑米的攝影旅遊筆記 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
在 vc 中要如何使用com元件呢
更改我的閱讀文章字型大小
作者 : cdlee(阿德)
[ 貼文 107 | 人氣 2871 | 評價 300 | 評價/貼文 2.8 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/8/29 下午 03:23:28
今天同事拿給我兩個檔案

QMulti.dll
QMulti.tlb

並請我幫他試試看元件是否有辦法開啟

可是我對com並不是很熟  只有大概的了解而已

可不可以請問一下在vc中要如何使用com元件呢
作者 : jazboy(Ethan)
[ 貼文 43 | 人氣 6565 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/8/29 下午 03:35:42
用我的code 去測...以下的code是去呼叫一個無須傳參數的function
用regsvr32去註冊你的dll
(跟你一樣拿到一個com dll的人...一樣不會寫....目前還有問題未解決中..唉)

要抓那一 clsID
HRESULT hr = CLSIDFromProgID(L"EOrgServer.EOrganization.1.1", &clsid);

要抓那一 function
WCHAR *Name = L"Provider";
============================
#include "stdafx.h"
#include <windows.h>
#include <olectl.h>
#include <objbase.h>


int main(int argc, char* argv[])
{
IDispatch* pDisp;
CLSID clsid;
DISPID clsSend;
CoInitialize(NULL);
HRESULT hr = CLSIDFromProgID(L"EOrgServer.EOrganization.1.1", &clsid);

if (!FAILED(hr))
{
hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER, IID_IDispatch, (void**)&pDisp);
if( !FAILED(hr) )
{
VARIANT vResult;
VariantInit(&vResult);
WCHAR *Name = L"Provider";
hr = pDisp->GetIDsOfNames(IID_NULL, &Name, 1, LOCALE_SYSTEM_DEFAULT, &clsSend);
if( !FAILED(hr) )
{
DISPPARAMS DispParams;
DispParams.rgvarg = NULL;
DispParams.cArgs = 0;
DispParams.cNamedArgs = 0;
DispParams.rgdispidNamedArgs = NULL;

hr = pDisp->Invoke(clsSend, IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_METHOD,
&DispParams, &vResult, NULL, NULL);
if( !FAILED(hr) )
{
printf("Got function!!\n");
}

LPVOID lpMsgBuf;
FormatMessage( 
FORMAT_MESSAGE_ALLOCATE_BUFFER | 
FORMAT_MESSAGE_FROM_SYSTEM | 
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
hr, //GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL 
);
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
LocalFree( lpMsgBuf );

}
CoUninitialize();
}
}
return 0;
}
作者 : cdlee(阿德)
[ 貼文 107 | 人氣 2871 | 評價 300 | 評價/貼文 2.8 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/8/29 下午 11:51:37
嗯   COM 的確是讓人很頭痛  

得花時間啊
作者 : good(估得)
[ 貼文 146 | 人氣 225 | 評價 480 | 評價/貼文 3.29 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/8/30 下午 01:27:48

>嗯   COM 的確是讓人很頭痛  
>
>得花時間啊

不會吧!
翻一下inside com,裡面有提到要怎麼使用com物件,vc也有提供精靈
作者 : gmailjoey(建中)
[ 貼文 190 | 人氣 0 | 評價 140 | 評價/貼文 0.74 | 送出評價 12 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/12/22 下午 10:31:51
>嗯 COM 的確是讓人很頭痛

>得花時間啊

2016適合WIN10的最新文章已經出了~~~~

How to Call COM Object from Visual Studio C++?
https://helloacm.com/how-to-call-com-object-from-visual-studio-c/
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4435 | 人氣 37262 | 評價 10770 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/12/23 上午 08:43:13
http://stackoverflow.com/questions/1145768/how-can-i-easily-use-a-com-component-in-native-visual-c
http://stackoverflow.com/questions/4008156/how-to-call-functions-of-a-com-dll-in-vc-from-a-vc-exe-application
 板主 : 徵求中
 > COM/DCOM - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - COM/DCOM - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
COM/DCOM
1 估得 490 
2 nick 120 
3 PLAYER 110 
4 天雲 100 
5 Raynor 80 
6 青衫 60 
7 60 
8 Peter.huang 50 
9 酷小毅 50 
10 Giant 50 
COM/DCOM
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2017 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875