自己写的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 多国语言的问题? 为什么我点取消它也是退出啊? .net的excel.WorksheetFunction.Sum()方法怎么用 c#版本升级问题 在线等.急求 关于Session,Application,ViewState的区别!!1 求正则表达式问题 求正则式判断字符串是否含有出字母和数字以前的字符 winodws 7 如何得到当前的音频设备名? odbc连接DBF文件不显示中文 请问:谁有uedit8的注册码呀?谢谢了! 请问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