2012-10-20 195 views
0


我有一个迷你项目,我必须在“信息系统安全”主题中做,这个想法是当用户浏览网络并执行一些操作时,我必须在后台运行程序。
我做了一些搜索,我想我可能需要编写一个Windows服务程序。那是对的吗?或者我该怎么做才能让我的程序在后台运行?
请任何帮助。
谢谢。在后台运行程序

+0

它需要执行什么样的活动以及它的频率是多少? – Luftwaffe

+0

其实它必须捕捉用户在浏览特定网站时写的内容,并获取鼠标位置并拍摄屏幕截图。 – Ruba

+0

@Ruba听起来更像是间谍软件。 –

回答

0

只需创建一个WinForms应用程序,删除表,并把你的代码在Program.cs中Main()方法。只要你需要就保持它的活力,并且运行你需要的任何背景任务。

0

如果你不想写一个服务程序,你可以隐藏你的程序窗口的程序开始后

ShowWindow(HWND,int); 

为了获取窗口处理程序到自己的窗口,你可以例如使用

HWND explorer=::FindWindow(NULL,"explorer.exe"); 

HWND h = ::GetTopWindow(0); 
while (h) 
{ if(IsWindowVisible(h)==1 && /*check if it's your Window*/) 
    { ShowWindow(h,0);//will hide Window 
     break; 
    } 
    h = ::GetNextWindow(h , GW_HWNDNEXT); 
} 

你将不得不

#include <winuser.h> 

使用此功能

+1

1)这不适用于C#的(直接)。 2)C#应用程序可以在没有窗口的情况下运行。 –

1

使你的程序在后台运行,您可以使用您的窗体的事件Shown

把这个成的Event:

private void Form1_Shown(object sender, EventArgs e) 
    { 
     this.WindowState = FormWindowState.Minimized; 
     this.Hide(); 
    }