完全按照微软MSDN的例子编译,运行后却返回HR=0x800704EC,经查为组策略冲突错误。该用Borland Delphi重写,编译运行后的错误提示为“由于一个软件限制策略的阻止,Windows无法打开此程序。要获得更多信息,请打开事件查看器或与系统管理员联系。”,程序运行环境WINXP PRO SP2,Administrator登陆,组策略里面“计算机配置/Windows设置/安全设置/软件限制策略”目录里面为“没有定义软件限制策略”,到底WINXP里面是哪里作了限制了?MSDN原代码见:http://www.microsoft.com/china/MSDN/library/archives/library/dnpchealth/html/remoteassistanCEapi.asp最末段的C++例子。DELPHI的源码:
procedure proc;
var
pIsvc:IPCHService;
bstrMachineName,bstrUserName,bstrDomainName,bstrUserHelpBlob:widestring;
lSessionID:Integer;
s:string;
begin
bstrUserName:='Administrator';
bstrDomainName:='MyComputerName';
bstrUserHelpBlob:=Widestring(s);
bstrMachineName:='MyComputerName';
lSessionID:=0; pIsvc:=CoPCHService.CreateRemote(bstrMachineName);
pIsvc.RemoteConnectionParms(bstrUserName,bstrDomainName,lSessionID,bstrUserHelpBlob);
end;
procedure proc;
var
pIsvc:IPCHService;
bstrMachineName,bstrUserName,bstrDomainName,bstrUserHelpBlob:widestring;
lSessionID:Integer;
s:string;
begin
bstrUserName:='Administrator';
bstrDomainName:='MyComputerName';
bstrUserHelpBlob:=Widestring(s);
bstrMachineName:='MyComputerName';
lSessionID:=0; pIsvc:=CoPCHService.CreateRemote(bstrMachineName);
pIsvc.RemoteConnectionParms(bstrUserName,bstrDomainName,lSessionID,bstrUserHelpBlob);
end;
故障5:安装SP2后,使用远程协助功能时,遇到“The remote server machine does not exist or is unavailable”错误提示。 解决方法:首先选择“开始→设置→控制面板→Windows防火墙”,切换到“例外”选项卡,确保勾选“文件和打印机共享”和“远程协助”两项,接下来运行“gpedit.msc”打开组策略管理窗口,依次展开“计算机配置→管理模板→系统→远程协助”,分别启动“启用远程协助”和“提供远程协助”两项.
启动远程协助 如果故障依然存在,那么在Windows防火墙中切换到“例外”选项卡,分别通过“添加程序”和“添加端口”按钮添加“%systemroot%system32sessmgr.exe”和“%systemroot%PCHEALTHHELPCTRBinarieshelpsvc.exe”程序以及TCP 135端口。