• 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

佚名通过本文主要向大家介绍了牛人博客及代码汇总,牛人代码,牛人看电影,牛人看电影王小羊,牛人 暴走看啥片儿等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 哪个牛人能看懂这段代码?????
描述:

if (item == dsoDialogNew)
{
OLEUIINSERTOBJECT oidlg = {0};
LPCLSID lpNewExcludeList = NULL;
int nNewExcludeCount = 0;
int nNewExcludeLen = 0;
oidlg.cbStruct = sizeof(OLEUIINSERTOBJECT);
oidlg.dwFlags = IOF_SELECTCREATENEW | IOF_DISABLELINK | IOF_DISABLEDISPLAYASICON | IOF_HIDECHANGEICON;
oidlg.hWndOwner = m_hwnd;
oidlg.lpszCaption = "Insert New Document Object";
oidlg.lpszFile = szFile;
oidlg.cchFile = MAX_PATH;
HKEY hkCLSID;
HKEY hkItem;
HKEY hkDocObject;
DWORD dwIndex = 0;
CHAR szName[MAX_PATH+1];
if(RegOpenKeyEx(HKEY_CLASSES_ROOT, "CLSID", 0, KEY_READ|KEY_ENUMERATE_SUB_KEYS, &hkCLSID) == ERROR_SUCCESS)
{
while(RegEnumKey(hkCLSID, dwIndex++, szName, MAX_PATH) == ERROR_SUCCESS)
{
if (RegOpenKeyEx(hkCLSID, szName, 0, KEY_READ, &hkItem) == ERROR_SUCCESS)
{
if ((RegOpenKeyEx(hkItem, "Insertable", 0, KEY_READ, &hkDocObject) == ERROR_SUCCESS))
{
RegCloseKey(hkDocObject);
if ((RegOpenKeyEx(hkItem, "DocObject", 0, KEY_READ, &hkDocObject) != ERROR_SUCCESS))
{
CLSID clsid;
LPWSTR pwszClsid = ConvertToLPWSTR(szName);
if ((pwszClsid) && SUCCEEDED(CLSIDFromString(pwszClsid, &clsid)))
{
if (lpNewExcludeList == NULL)
{
nNewExcludeCount = 0;
nNewExcludeLen = 16;
lpNewExcludeList = new CLSID[nNewExcludeLen];
}
if (nNewExcludeCount == nNewExcludeLen)
{
LPCLSID lpOldList = lpNewExcludeList;
nNewExcludeLen <<= 2;
lpNewExcludeList = new CLSID[nNewExcludeLen];
memcpy(lpNewExcludeList, lpOldList, sizeof(CLSID) * nNewExcludeCount);
delete [] lpOldList;
}
lpNewExcludeList[nNewExcludeCount] = clsid;
nNewExcludeCount++;
}
MemFree(pwszClsid);
} else RegCloseKey(hkDocObject);
}
RegCloseKey(hkItem);
}
}
RegCloseKey(hkCLSID);
}
oidlg.lpClsidExclude = lpNewExcludeList;
oidlg.cClsidExclude = nNewExcludeCount;
if (OleUIInsertObject(&oidlg) == OLEUI_OK)
{
if ((oidlg.dwFlags & IOF_SELECTCREATENEW) && (oidlg.clsid != GUID_NULL))
{
LPOLESTR posz;
BSTR bstr;
if (SUCCEEDED(ProgIDFromCLSID(oidlg.clsid, &posz)))
{
bstr = SysAllocString(posz);
hr = CreateNew(bstr);
SysFreeString(bstr);
CoTaskMemFree(posz);
}
}
else if ((oidlg.dwFlags & IOF_SELECTCREATEFROMFILE) && (szFile[0] != 0))
{
vT[0].vt = VT_BSTR;
vT[0].bstrVal = ConvertToBSTR(szFile);
vT[1].vt = VT_I4; vT[1].lVal = 1;
hr = Open(vT[0], vT[1], vT[2], vT[2], vT[2]);
VariantClear(&vT[0]);
}
else
{
MessageBeep(0);
}
}
if (lpNewExcludeList)
delete [] lpNewExcludeList;
}


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

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

  • 各位牛人,请帮忙看看这段代码,在线等。。。
  • 哪个牛人能看懂这段代码?????

相关文章

  • 2017-06-04 请问脚本可以调用自己写的activx么(不通过ie,在本地通过wscript运行
  • 2017-06-04 ATL做的word插件中怎样响应word事件,谁做过类似的东西啊
  • 2017-06-05 问一个个人认为几乎无解的问题:如何区分当前的文件操作是系统进行的还是用户进行的?(大家随便顶,顶者都有分^-^)
  • 2017-06-05 VS2008ATL建立服务的问题
  • 2017-06-04 请专家们进来帮一下忙~~看看这烦了我多天的问题!100分相送!
  • 2017-06-05 VC对话框界面调用matlab的COM组件,release后本机可运行,换台机子调用时就有问题
  • 2017-06-05 关于,在windows中杀进程的问题
  • 2017-06-05 想做一个基于对话框的多线程程序,请问应该用模式对话框还是非模式对话框?
  • 2017-06-04 怎样在IDL里设置使接口具有默认成员?
  • 2017-06-04 高手请进,高分求解

文章分类

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

最近更新的内容

    • 两个不同的动态库,包含名字相同的函数,怎么在同一工程中调用?
    • VC对EXCEL操作的问题
    • 请教线程之间如何通信,怎么传递变量
    • 如何创建一个线程队列,并把删除文件线程插入队列,在线程中删除文件
    • 求HOOK函数的DLL代码
    • 100分求一Com使用问题,解决当即散分
    • OleView遇到问题需要关闭
    • 一个鼠标钩子的问题,请大家帮帮忙?
    • vc如何读取串口校验位
    • 关于使用UDT数据后,调用SafeArrayDestroyData和SafeArrayDestroy出现异常的问题

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

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