操作系统:旗舰版win7

DirectShow SDK: 9.0

IDE环境:VS2008

以下代码参考MSDN:

 HRESULT AddToRot(IUnknown *pUnkGraph, DWORD *pdwRegister)
{
IMoniker * pMoniker = NULL;
IRunningObjectTable *pROT = NULL; if (FAILED(GetRunningObjectTable(, &pROT)))
{
return E_FAIL;
} const size_t STRING_LENGTH = ; WCHAR wsz[STRING_LENGTH];
StringCchPrintfW(wsz, STRING_LENGTH, L"FilterGraph %08x pid %08x", (DWORD_PTR)pUnkGraph, GetCurrentProcessId()); HRESULT hr = CreateItemMoniker(L"!", wsz, &pMoniker);
if (SUCCEEDED(hr))
{
hr = pROT->Register(ROTFLAGS_REGISTRATIONKEEPSALIVE, pUnkGraph,
pMoniker, pdwRegister);
pMoniker->Release();
}
pROT->Release(); return hr;
} void RemoveFromRot(DWORD pdwRegister)
{
IRunningObjectTable *pROT;
if (SUCCEEDED(GetRunningObjectTable(, &pROT))) {
pROT->Revoke(pdwRegister);
pROT->Release();
}
} void main()
{
IGraphBuilder *pGraph;
DWORD dwRegister;
HRESULT hr; // Initialize the COM library.
hr = CoInitialize(NULL);
if (FAILED(hr))
{
printf("ERROR - Could not initialize COM library\n");
return;
} // Create the filter graph manager.
hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
if(FAILED(hr))
{
printf("ERROR - CoCreateInstance\n");
return ;
} hr = AddToRot(pGraph, &dwRegister); // Rest of the application (not shown).
while()
{
Sleep();
//break;
} RemoveFromRot(dwRegister);
pGraph->Release(); CoUninitialize();
}

【问题】:首先运行上述VC程序,然后打开GraphEdit程序,File->Connect to Remote Graph...->出现对话框Select a remote filter graph to view...,对话框中没有任何内容。

【原因】:Windows SDK中未包含Proppage.dll

其实MSDN说的很清楚了,如下面截图。

【对策】:搜索proppage.dll发现几个地方都有proppage.dll,选择C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin下面的proppage.dll,在命令行窗口执行

cd C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin

regsvr32 proppage.dll

将proppage.dll注册到Windows SDK即可。

【验证】接下来重新执行上面的步骤:首先运行上述VC程序,然后打开GraphEdit程序,File->Connect to Remote Graph...->出现对话框Select a remote filter graph to view...,对话框中出现

旗舰版win7系统中GraphEdit执行Loading a Graph From an External Process失败对策的更多相关文章

  1. Win7系统中哪些服务可以关闭?

    Win7系统中很多服务和进程其实大家在平时都用不上,这些服务和进程不仅占用了很大部分的资源,而且还会影响系统的运行速度和安全.我们可以关闭那些不常用的服务和进程来加快系统运行速度,但对于一般的用户来说 ...

  2. win7系统中如何使文件显示出扩展名

    win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择"文件夹及搜索选项"-->> ---- ...

  3. 如何在win7系统中安装redis

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/92.html?1455871954 如何在win7系统中安装redis​ ...

  4. Win7系统中提示:本地无法启动MySQL服务,报的错误:1067,进程意外终止的解决方法。

    Win7系统中提示:本地无法启动MySQL服务,报的错误:1067,进程意外终止的解决方法. 在本地计算机无法启动MYSQL服务错误1067进程意外终止.这种情况一般是my.ini文件配置出错了1.首 ...

  5. win7系统中的声音图标不见了怎么办

    转载:http://jingyan.baidu.com/article/dca1fa6f815023f1a44052d6.html 我以前用的比较多的还是xp系统,对xp系统中的一些常见的操作还是很方 ...

  6. 如何设置Win7系统中的上帝模式GodMode(转载)

    如何设置Win7系统中的上帝模式GodMode(转载) NT6系统中隐藏了一个秘密的“GodMode”,字面上译为“上帝模式”.God Mode其实就是一个简单的文件夹窗口,但包含了几乎所有系统的设置 ...

  7. PowerShell因为在此系统中禁止执行脚本解决方法

    PowerShell因为在此系统中禁止执行脚本解决方法   在Powershell直接脚本时会出现: 无法加载文件 ******.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 " ...

  8. win7系统中如何使文件显示出扩展名或显示文件后缀名

    win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择“文件夹及搜索选项”-->> -------------- ...

  9. 好系统重装助手教你清理win7系统中DNS缓存

    在我们使用电脑的过程中,有时候一个经常用的网页突然打不开了,遇到这种情况,清理一下DNS缓存就可以解决了.如何清理DNS缓存?小编这就给大家说一种最简单的方法. 1.组合键:win+R,输入cmd,点 ...

随机推荐

  1. JavaScript关系运算符

    ★关系运算符 通过关系运算符可以比较两个值之间的大小关系 如果关系成立它会返回true,如果关系不成立立即返回false   ㈠大于号 (>) ⑴判断符号左侧的值是否大于右侧的值 ⑵如果关系成立 ...

  2. 数位dp入门(内容一样,新版格式)

    顾名思义,数位dp,是一种用来计数的dp,就是把一个数字拆成一个一个数位去统计 如果现在给你一道题,需要你求在区间[l,r]内满足条件的解的个数,我们很容易想到去暴力枚举,但要是数据范围太大这种办法就 ...

  3. 「HEOI2014」大工程

    问题分析 首先不难想到是虚树.建完虚树需要保持节点间原先的距离关系. 然后总距离和最小距离用树形DP求,最大距离用两遍dfs即可.注意统计的时候只对关键点进行统计. 真是麻烦 参考程序 ac的时候是l ...

  4. 25.Python逻辑运算符及其用法

    逻辑运算符是对真和假两种布尔值进行运算(操作 bool 类型的变量.常量或表达式),逻辑运算的返回值也是 bool 类型值. Python 中的逻辑运算符主要包括 and(逻辑与).or(逻辑或)以及 ...

  5. Git命令的简单整理大全

    创建目录和查看路径 mkdir 创建目录  cd    进入到目录里面pwd   用于显示当前的目录cat   查看文件内容 Git命令使用说明 初始化一个目录成git的仓库(版本库)包括暂存区和ma ...

  6. JETSON TK1 ~ 安装Cuda和OpenCV3

    一:安装Cuda6.5 1:下载安装包 Cuda6.5 2.在TK1上安装软件包: cd ~/Downloads sudo dpkg -i cuda-repo-l4t-r21.3-6-5-prod_6 ...

  7. Win10环境:使用VLC搭建RTSP服务器

      VLC 是一款自由.开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD.音频 CD.VCD 及各类流媒体协议.既可以作为客户端来播放远程视频,也可以作为RTSP服务器对外发布视频 ...

  8. vue 指示点的疑点拓展

    1. 为什么 vue 组件中的 data 是一个函数 1. 为了保证组件的独立性和可复用性,data 是一个函数,组件实例的时候,这个函数将会被调用,返回一个对象,计算机会给这个对象分配一个内存地址, ...

  9. import 和 require 的 区别

    node编程中最重要的思想就是模块化,import和require都是被模块化所使用. 遵循规范 require 是 AMD规范引入方式 import是es6的一个语法标准,如果要兼容浏览器的话必须转 ...

  10. JScript 程序流程控制

    Jscript 脚本中的语句一般是按照写的顺序来运行的.这种运行称为顺序运行,是程序流的默认方向. 与顺序运行不同,另一种运行将程序流转换到脚本的另外的部分.也就是,不按顺序运行下一条语句,而是运行另 ...