MyException - 我的异常网
当前位置:我的异常网» C# » 一般做的服务程序. 在任务管理器中可以关闭. 怎么不

一般做的服务程序. 在任务管理器中可以关闭. 怎么不让其结束

www.MyException.Cn  网友分享于:2013-01-08  浏览:39次
一般做的服务程序. 在任务管理器中可以关闭. 如何不让其结束
有些服务程序可以在任务管理器中结束,   有些不可以

怎么实现   的....  

就在服务程序中实现,   不用双进程守护

------解决方案--------------------
沙发,帮忙顶

------解决方案--------------------
有点像病毒,我帮你研究一下
------解决方案--------------------
在FORM中有个Closing事件,可以在关闭的时候再启动自己的程序,但是,这样只仅仅限制于正常关闭。
如果你的程序中有DLL处于循环调用系统的DLL。那么,XP会默认判断为跟系统相关的进程。这样就没有办法杀掉。
------解决方案--------------------
用RemoteThread,挂到Explorer里面,那就除非用工具杀,否则干不掉
------解决方案--------------------
注册成系统进关键进程应该删不掉,像system进程
使用CreateRemoteThread和LoadLibrary技术的步骤如下:
1. 得到远程进程的HANDLE(使用OpenProcess)。
2. 在远程进程中为DLL文件名分配内存(VirtualAllocEx)。
3. 把DLL的文件名(全路径)写到分配的内存中(WriteProcessMemory)
4. 使用CreateRemoteThread和LoadLibrary把你的DLL映射近远程进程。
5. 等待远程线程结束(WaitForSingleObject),即等待LoadLibrary返回。也就是说当我们的DllMain(是以DLL_PROCESS_ATTACH为参数调用的)返回时远程线程也就立即结束了。
6. 取回远程线程的结束码(GetExitCodeThtread),即LoadLibrary的返回值――我们DLL加载后的基地址(HMODULE)。
7. 释放第2步分配的内存(VirtualFreeEx)。
8. 用CreateRemoteThread和FreeLibrary把DLL从远程进程中卸载。调用时传递第6步取得的HMODULE给FreeLibrary(通过CreateRemoteThread的lpParameter参数)。
9. 等待线程的结束(WaitSingleObject)。
10.采用C++/CLI编写:
// InjectDll.h

#pragma once

#include <windows.h>
using namespace System;

namespace InjectDll {

public ref class InjectDllManager
{
public:
// szLibPath - 要加载的Dll,hProcess - 被加载的远程进程,iLibPathSize-要加载的Dll的名称的长度
void InjectLib2Process(char szLibPath[],HANDLE hProcess,int iLibPathSize)
{
HANDLE hThread;
void* pLibRemote;
DWORD hLibModule;//已加载的DLL的基地址(HMODULE);
HMODULE hKernel32 = GetModuleHandle(L "Kernel32 ");
//初始化 szLibPath
//
// 1. 在远程进程中为szLibPath 分配内存
// 2. 写szLibPath到分配的内存
pLibRemote = VirtualAllocEx( hProcess, NULL, iLibPathSize,
MEM_COMMIT, PAGE_READWRITE );
WriteProcessMemory( hProcess, pLibRemote, (void*)szLibPath,
sizeof(szLibPath), NULL );
// 加载 "szLibPath.dll " 到远程进程
// (通过 CreateRemoteThread & LoadLibrary)
hThread = CreateRemoteThread( hProcess, NULL, 0,
(LPTHREAD_START_ROUTINE) GetProcAddress( hKernel32,
"LoadLibraryA " ),pLibRemote, 0, NULL );
WaitForSingleObject( hThread, INFINITE );
//取得DLL的基地址
GetExitCodeThread( hThread, &hLibModule );
//扫尾工作
CloseHandle( hThread );
VirtualFreeEx( hProcess, pLibRemote, iLibPathSize, MEM_RELEASE );
// 从目标进程卸载LibSpu.dll
// (通过 CreateRemoteThread & FreeLibrary)
hThread = CreateRemoteThread( hProcess, NULL, 0,
(LPTHREAD_START_ROUTINE) GetProcAddress( hKernel32, "FreeLibrary " ),(void*)hLibModule, 0, NULL );
WaitForSingleObject( hThread, INFINITE );
// 扫尾工作
CloseHandle( hThread );
}
};
}

生成Dll,然后在C#项目中将它引用进来,最后编写:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
InjectDll.InjectDllManager iManager = new InjectDll.InjectDllManager();
iManager.InjectLib2Process(.);
//.....
}
}



------解决方案--------------------
路过,不懂,帮顶一下
------解决方案--------------------
学习
------解决方案--------------------

文章评论

亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
10个调试和排错的小建议
10个调试和排错的小建议
每天工作4小时的程序员
每天工作4小时的程序员
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
代码女神横空出世
代码女神横空出世
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序员和编码员之间的区别
程序员和编码员之间的区别
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
程序员都该阅读的书
程序员都该阅读的书
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
我是如何打败拖延症的
我是如何打败拖延症的
 程序员的样子
程序员的样子
那些争议最大的编程观点
那些争议最大的编程观点
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
为什么程序员都是夜猫子
为什么程序员都是夜猫子
旅行,写作,编程
旅行,写作,编程
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员必看的十大电影
程序员必看的十大电影
如何成为一名黑客
如何成为一名黑客
老程序员的下场
老程序员的下场
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
编程语言是女人
编程语言是女人
漫画:程序员的工作
漫画:程序员的工作
我的丈夫是个程序员
我的丈夫是个程序员
中美印日四国程序员比较
中美印日四国程序员比较
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
一个程序员的时间管理
一个程序员的时间管理
Java程序员必看电影
Java程序员必看电影
程序员应该关注的一些事儿
程序员应该关注的一些事儿
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员的鄙视链
程序员的鄙视链
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
总结2014中国互联网十大段子
总结2014中国互联网十大段子
鲜为人知的编程真相
鲜为人知的编程真相
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有