在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 ,因此没法和窗口交互。
------解决方案--------------------
搞个数据库是不是好点。向Place order, process order这样的。
------解决方案--------------------
那是不是还不如用WCF。host在windows service或者console中。