当前位置: 代码迷 >> Web Service >> WebService中调用FindWindow找不到指定窗口,该如何处理
  详细解决方案

WebService中调用FindWindow找不到指定窗口,该如何处理

热度:860   发布时间:2013-04-26 16:27:53.0
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中。
  相关解决方案