C#程序问题,自动启动,自动关闭。

magicleey1124 2010-02-12 06:36:39
现在有一个c#的winform形式的程序,是读取数据库程序,如果有新数据,就经过计算(这个计算过程需要一段时间)把新计算后的值再写到数据库中。
程序大体上我已经编好了,就是如何实现下面的功能:
1. 这个程序要跟随window操作系统自动启动和自动关闭。
2. 当关闭的时候,如果正在读取数据,要把它暂停,并且记住这个数据的位置,为了下次启动的时候,程序从这个位置开始 读取。

不知道有没有人编过这样的问题。
先谢谢了,如果我有什么没说明白的,希望大家提出来。

...全文
404 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
stszd604 2010-02-16
  • 打赏
  • 举报
回复
mark mark
magicleey1124 2010-02-16
  • 打赏
  • 举报
回复
谢谢大家了,结贴了!
tsby0627 2010-02-15
  • 打赏
  • 举报
回复
MARK
MARK
michael555cdj 2010-02-14
  • 打赏
  • 举报
回复
编译之后加到[启动]菜单里!!
或者写成winService
Calm2049 2010-02-14
  • 打赏
  • 举报
回复
学习 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
magicleey1124 2010-02-14
  • 打赏
  • 举报
回复
还有,12楼里的Application是什么?是你的winform应用程序的项目名?
magicleey1124 2010-02-14
  • 打赏
  • 举报
回复
引用 13 楼 raon0414 的回复:
在您的项目中引入"Windows  Script  Host  Object  Model"  COM  library,然后加上这个 using IWshRuntimeLibrary;


这个用c#写好的程序是不是得先编译成可安装文件,然后再加入你说的这两个程序?
还有,这两个程序加到什么位子?
谢谢了!本人学习C#不长时间,可能问题比较多。呵呵。
aimeast 2010-02-14
  • 打赏
  • 举报
回复
随系统启动上面已经有答案了。在退出的时候会有closing事件激发。也会收到WM_QUERYENDSESSION和WM_CANCELMODE消息,处理这两个消息即可。
http://blog.csdn.net/aimeast/archive/2009/07/22/4371337.aspx


至于你程序处理的进度,那就是你程序内部的事情了。
zhou_zy 2010-02-14
  • 打赏
  • 举报
回复
简单啊,有很多方法,如果只使用数据库,使用存储过程或触发器就可以了,不需要WINFORM
RFEZGC 2010-02-14
  • 打赏
  • 举报
回复
怎么都是些run的??
写成系统服务也可以啊
raon0414 2010-02-13
  • 打赏
  • 举报
回复
在您的项目中引入"Windows Script Host Object Model" COM library,然后加上这个 using IWshRuntimeLibrary;
raon0414 2010-02-13
  • 打赏
  • 举报
回复
1. 这个程序要跟随window操作系统自动启动和自动关闭。
用注册表方式不太好的(要是安装机子有装360啥的会使你的程序多多少少出点问题的),建议用在开始-》程序—》启动目录会更好。
      /// 创建程序的快捷方式放入startup中   
/// 即:D:\Documents and Settings\Administrator\「开始」菜单\程序\启动
/// 实现程序开机自启动
/// </summary>
public static void SetStartup()
{
try
{
//将要创建的快捷方式的完整路径(一定要加上.lnk)
string shortcutPath = Environment.GetFolderPath(Environment.SpecialFolder.Startup)
+ "\\" + Application.ProductName + ".lnk";

//如果当前程序的快捷方式不存在,创建一个快捷方式保存在startup中
if (!System.IO.File.Exists(shortcutPath))
{
WshShell shell = new WshShell();
//创建快捷方式
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutPath);
//快捷方式的目标所在的位置(本程序的绝对路径)
shortcut.TargetPath = Application.ExecutablePath;
//指定应用程序的工作目录
shortcut.WorkingDirectory = System.Environment.CurrentDirectory;
shortcut.WindowStyle = 1;
//选中此快捷方式时显示的信息
shortcut.Description = "名称: "+ Application.ProductName+"\r\n公司: "+
Application.CompanyName +"\r\n版本: "+
Application.ProductVersion;
//指定快捷方式的图表的所在位置,它的值包含一个完整的路径和一个索引值
shortcut.IconLocation = Application.ExecutablePath + ",0";
shortcut.Save();
}
}
catch { }
}

/// <summary>
/// 把D:\Documents and Settings\Administrator\「开始」菜单\程序\启动
/// 中的本程序快捷方式删除
/// 实现程序不开机自启动
/// </summary>
public static void DeleteStartup()
{
try
{
//startup中当前程序的快捷方式的路径
string shortcutPath = Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "\\" + Application.ProductName + ".lnk";
System.IO.File.Delete(shortcutPath);
}
catch { }
}
  • 打赏
  • 举报
回复
直接写入注册表,然后使用日志的方式记录数据点
Dogfish 2010-02-13
  • 打赏
  • 举报
回复
程序放在start up里就行可以在启动的时候运行。可以的话,写成service的形式也行。

至于关闭的时候如何处理,就要看设计了。
magicleey1124 2010-02-13
  • 打赏
  • 举报
回复
引用 5 楼 wuyq11 的回复:
开机启动
RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);//打开注册表子项
key.SetValue(程序的名称, 程序的路径);/
关闭时候应该等待线程执行完再关闭,记录操作就要日志


能再详细的说一下吗?
如何等线程完再关闭,如何记录操作。
powerchuangwai 2010-02-12
  • 打赏
  • 举报
回复
五楼正解。。。。。。。
Allen2064 2010-02-12
  • 打赏
  • 举报
回复
不是很懂 关注 学习中
laptop8000 2010-02-12
  • 打赏
  • 举报
回复
up!!!!!!!!!!!!!!!!
wuyq11 2010-02-12
  • 打赏
  • 举报
回复
开机启动
RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);//打开注册表子项
key.SetValue(程序的名称, 程序的路径);/
关闭时候应该等待线程执行完再关闭,记录操作就要日志
ILOVE_ASPNET 2010-02-12
  • 打赏
  • 举报
回复
藐视以前有好多这样的例子啊!! 现在在外面过年冒有具体的例子 , 帮顶顺便新年快乐!!!!!!!!!!!
加载更多回复(3)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧