自己写的windows 服务中怎么调用C#窗体??? 自己写的windows 服务中怎么调用C#窗体???C#窗体显示不出来啊?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 windows服务是不能够有窗口的啊要调用的话,只有另外做个EXE咯。 Process.Start("notepad.exe"); //记事本也调不出来啊 ??我第一次写服务,很多不知道,大家给点信息。谢谢了! protected override void OnStart(string[] args) { // TODO: 在此处添加代码以启动服务。 FileStream fs = new FileStream("d://a.txt",FileMode.Create); StreamWriter sw = new StreamWriter(fs); sw.Write(DateTime.Now+" wjj"); sw.Flush(); sw.Close(); fs.Close(); Process.Start("notepad.exe"); //调不出来 } 你非要弹出个界面也行,在装好的服务的属性->登录->本地系统账户->允许服务与桌面交互 打勾 http://blog.csdn.net/greystar/archive/2006/04/03/648588.aspx windows 服务一般有哪些用途?? 你可以把窗体搞成一个dll,在window service 里面引用form 的命名空间 服务,本来就是非UI交互的。不应该出现窗体之类的。即使通过Process.Start("notepad.exe"); 这样的方式也不会有的,这是由服务本身的特性决定的。 谢谢各位的回答。在问一下:windows 服务一般有哪些用途?? 就是做些无需UI的东东的啊,如数据处理,通信处理,进程监控等等你看看xp自带的服务都是干嘛的就有个印象了 对,服务运行在SYSTEM下,没有用户的概念,所以没有GUI。 服务的属性->登录->本地系统账户->允许服务与桌面交互 打勾注意只能在XP和2003里使用,Vista和2008不再支持服务窗口,就算选中这一项,窗口也不会在桌面显示,而是单独有另一个桌面,会提示当前用户切换进入。 建服務的時候這樣寫,CreateService( schSCManager, SVCNAME, SVCNAME, SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS, SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, szPath, NULL, NULL, NULL, NULL, NULL );就那個SERVICE_INTERACTIVE_PROCESS需要加上,然後就可以調起有界面的程式了。不過windows服務本來就不是用來交互用的 http://www.codeproject.com/KB/system/SystemTrayIconInSvc.aspx 谁说服务不能调用窗体?自己不懂就认不程序做不到?关系是要取得当前用户的窗口环境。这个链接就是我当时用VC写的系统服务打开用户应用程序窗口的。你可以把VC的库DDLImport进来改成C#代码.http://blog.csdn.net/axman/archive/2006/11/09/1375582.aspx 本公司计划开发一订房系统,有酒店数据库系统。使用此系统可以方便旅行社向酒店便利进行团队询订房,自动生成询单、选酒店、及进认确认酒店。使用英文,已有式样模型,使用php\apache\mysql。本公司在北京([email protected]),希相关技术人才进行合作。 winform在panel上加个覆盖一个框 无效句柄异常,急 ★请教下关于动态编译CS文件和动态加载类库的问题。★欢迎大家各抒己见。 如何设置应用程序访问文件的时间间隔??? 那位高手帮帮我Datable的问题 求解一个同步和异步的问题,很急很急!! Biztalk调查,顺便散分! .NET 实现跨数据库操作 帮帮忙 点击Form1打开两个窗口Form2和Form3,当Form2为活动窗口时,Form3跑到Form2后面去了,被蔗住看不见了,如何让它跑出来? 请问sql逻辑与逻辑或为什么不行呢? 有关C#做的记事本的菜单问题!
要调用的话,只有另外做个EXE咯。
{
// TODO: 在此处添加代码以启动服务。 FileStream fs = new FileStream("d://a.txt",FileMode.Create); StreamWriter sw = new StreamWriter(fs); sw.Write(DateTime.Now+" wjj");
sw.Flush();
sw.Close();
fs.Close();
Process.Start("notepad.exe"); //调不出来 }
你可以把窗体搞成一个dll,在window service 里面引用form 的命名空间
即使通过Process.Start("notepad.exe"); 这样的方式也不会有的,这是由服务本身的特性决定的。
就是做些无需UI的东东的啊,如数据处理,通信处理,进程监控等等你看看xp自带的服务都是干嘛的就有个印象了
CreateService(
schSCManager,
SVCNAME,
SVCNAME,
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_NORMAL,
szPath,
NULL,
NULL,
NULL,
NULL,
NULL
);
就那個SERVICE_INTERACTIVE_PROCESS需要加上,然後就可以調起有界面的程式了。不過windows服務本來就不是用來交互用的
你可以把VC的库DDLImport进来改成C#代码.http://blog.csdn.net/axman/archive/2006/11/09/1375582.aspx