读书人

WebService中调用FindWindow找不到指定

发布时间: 2013-04-26 16:27:53 作者: rapoo

WebService中调用FindWindow找不到指定窗口
在WebService中引用了user32.dll
[DllImport("user32.dll", EntryPoint = "FindWindow")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

在vs2010调试环境下可以找到指定的窗口,将WebService发布到IIS后,调用时找不到指定的窗口了。
开发环境为Win7 64位系统 + VS2010,
期间试过将IIS_IUSERS用户组添加到Administrators用户组中,也不起作用,采用“ASP.NET中模拟管理员用户提升权限 ”的方法也不起作用,请问在WebService中怎么才能正确调用FindWindow Web服务 IIS Dll
[解决办法]
如果你用的是wcf的话,你需要做一个自托管的程序代替iis托管这个服务,并且在用户桌面登录后在用户的账户中运行。
[解决办法]
我觉得可能行不通。
一个是权限问题,可以解决,用impersonate或者是指定管理员account运行asp.net都可以。
另一个问题是asp.net进程很可能是non-interactive window stations ,因此没法和窗口交互。
[解决办法]

引用:
引用:需求是什么?找服务器上的窗口,然后。。。。。
现在是想这样:在服务器上发布一个WebService用来接收客户端传递的数据(一组字符串),然后把这些数据传递到服务器中的一个程序中。


搞个数据库是不是好点。向Place order, process order这样的。
[解决办法]
引用:
引用:引用:引用:需求是什么?找服务器上的窗口,然后。。。。。
现在是想这样:在服务器上发布一个WebService用来接收客户端传递的数据(一组字符串),然后把这些数据传递到服务器中的一个程序中。

搞个数据库是不是好点。向Place order, proce……


那是不是还不如用WCF。host在windows service或者console中。

读书人网 >Web Service

热点推荐