• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 为什么我这样的调用会程序崩溃

为什么我这样的调用会程序崩溃

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了js 调用exe程序,c#调用exe程序,java调用matlab程序,子程序调用,matlab调用c程序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 为什么我这样的调用会程序崩溃
描述:

#include "stdafx.h"
#include "InterFace.h"
#include <iostream.h>
#include <objbase.h>
int main(int argc, char* argv[])
{
CoInitialize(NULL);//初始化COM库
void *p;
    if (CoGetClassObject(mycomid,CLSCTX_INPROC_SERVER,NULL,beastid,(void**)&p)==S_OK)
{
cout<<"OK"<<endl;
}
else
{
cout<<"error"<<endl;
}
CoUninitialize();
return 0;
}
=====================================COM部分
STDAPI DllGetClassObject(REFCLSID rclsid,REFIID riid, LPVOID * ppv)
{
cout<<"调用了DllGetClassObject函数"<<endl;
char buff[39]={0};
LPOLESTR wszCLSID = NULL;
StringFromCLSID(rclsid, &wszCLSID);//将CLSID转换成STRING
wcstombs(buff, wszCLSID, 39) ;
cout<<"请求CLSID为:"<<buff<<endl;
    StringFromCLSID(riid, &wszCLSID);//将IID转换成STRING
wcstombs(buff, wszCLSID, 39) ;
cout<<"请求IID为:"<<buff<<endl;
return S_OK;
}
========================运行结果======================
调用了DllGetClassObject函数
请求CLSID为:{9FDB6FC7-59B8-4EF7-94D9-3A0CDA824204}
请求IID为:{E940B840-0581-44EA-AF3D-E00D99E48E19}
Press any key to continue--程序崩溃了
===============================================
为什么执行程序流程没有回到客户端MAIN函数啊,按道理说
最后回执行
cout<<"OK"<<endl;
我理解是其实类厂什么的可以忽略,因为程序流程进入DllGetClassObject
后 我们其实就已经掌握了程序运行的控制权利了不是吗


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • exe的程序如何向调用它的程序提供interface,知道的进来说说,谢谢!
  • VCZ中调用word模板,并把程序中的数据输入到模板指定地方
  • activexVC调用可以,JS调用有问题
  • js调用C++
  • 关于调用外部exe程序的问题
  • 如何调用和显示其它程序?
  • 如何知道我的程序是独立运行的,还是被其它程序调用的。在线!
  • 自己调用的程序,当其被关闭时如何得到通知?
  • 怎样调用一个exe程序并使该程序始终运行在本程序的上方
  • 怎么调用这个exe里的函数?

相关文章

  • 2017-06-04 想系统的学COM/COM+|DCOM/ATL,请过来人指路
  • 2017-06-04 atl中怎么让控件图标大小不可变动?
  • 2017-06-04 在VC60中写的COM组件电子签名是成功的,怎么用VCNET编译签名后在浏览器里不能正常注册?
  • 2017-06-04 如何使ActiveX控件不能通过单击选中以及其它问题
  • 2017-06-04 求助:dll中如何调用ocx并响应事件
  • 2017-06-04 怎样在ATL中声明自己的结构?
  • 2017-06-04 Activex控件开发
  • 2017-06-05 线程中使用Ado对数据库进行update和insert操作的问题急
  • 2017-06-04 string如何转成BSTR
  • 2017-06-05 100分求助:如何使用VC开发WIN32的DLL

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 关于名空间扩展和拖拽,十万火急
    • ATL编译错误,帮忙看看!!!!
    • 如何学习开发IE插件
    • 用ATL写了个ie页面上鼠标取词的BHO
    • 立结给分很容易的题目~
    • DCOM问题,请高手帮忙!!!给分
    • activex控件中可以调用DLL吗?
    • 一个线程的问题
    • 关于service程序的问题,请给位帮忙。谢谢,急
    • CreateThread后,为什么要调用_getch,才能执行?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有