如何在Windows中使用c ++完全禁用键盘?完全禁用我的意思是所以即使Ctrl+ Alt+ Delete也不起作用.我确实考虑使用键盘驱动程序,但我认为你需要在安装后重新启动计算机,但因为我只需要禁用它几分钟就不会真正起作用.
我有以下代码的问题:
for(i = 0;(i - 1)< n;i++)
{
char* b;
sprintf(b, "%d", i);
}
Run Code Online (Sandbox Code Playgroud)
它编译得很好但是当我运行它时,它给我臭名昭着的"0XC0000005访问冲突"错误.我已经尝试将b设置为NULL,"","0",0和其他一些东西,但后来我得到"0XC0000005访问冲突"错误或"表达式:字符串!= NULL.任何帮助将不胜感激!
我正在编写一个需要通过网络发送数据的应用程序.我已完成应用程序,但发送数据时出现问题.每次我发送一个数据时,它会在4个字符后被切断,其余的都是垃圾.该应用程序是我正在为学校项目编写的远程键盘记录器,它要求您演示hooks和winsock的用法.我们被允许在论坛上寻求帮助.任何帮助,将不胜感激!
这里的代码:
服务器:
// rkl.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include "rkl.h"
#include <windows.h>
#include <stdio.h>
SOCKET kSock;
LRESULT CALLBACK keyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam);
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
WSAData wsdata;
WORD wsver=MAKEWORD(2, 0);
int nret=WSAStartup(wsver, &wsdata);
if(nret != 0)
{
MessageBoxA(0,"Error 0","Error",MB_OK);
WSACleanup();
return -1;
}
kSock=socket(AF_INET, SOCK_STREAM, 0);
if(kSock == INVALID_SOCKET)
{
MessageBoxA(0,"Error 1","Error",MB_OK);
return -1;
}
sockaddr_in sin;
sin.sin_port=htons(808);
sin.sin_addr.s_addr=inet_addr("127.0.0.1");
sin.sin_family=AF_INET;
if(connect(kSock,(sockaddr*)&sin, sizeof(sin)) …Run Code Online (Sandbox Code Playgroud) 我正在研究一个涉及键盘钩子的c ++ win32程序.该应用程序是一个win32项目,没有任何用户界面.我需要保持应用程序不关闭而不使用挂钩不工作或耗尽大量系统资源.我曾经使用过消息框,但我需要应用程序完全不可见.
任何帮助,将不胜感激!
如果你有问题,就问吧.
我正在开发一个可以在winlogon桌面上启动程序的项目.该程序在调试时工作正常但是当我在ide之外启动它时,它会因臭名昭着的c0000005错误而失败.最奇怪的是它似乎没有出现在任何特定的行上.这是代码:
#include "stdafx.h"
#include <windows.h>
#include "BinRes.h"
#include <string>
#include <iostream>
int main(int argc, char* argv[])
{
if(argc != 2)
{
return 0;
}
std::string a;
a.append(BinRes::getAppLocation());
a.append("\\wls.exe");
BinRes::ExtractBinResource("EXE",102,"wls.exe");
Sleep(500);
SC_HANDLE schsm;
schsm = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);
SC_HANDLE schs;
schs = CreateService(schsm,"WLS","WLS",SERVICE_ALL_ACCESS,SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS,SERVICE_DEMAND_START,NULL,a.c_str(),0,0,0,0,0);
char* cd = argv[1];
LPCSTR* arg = (LPCSTR*)&cd;
StartService(schs,1,arg);
HANDLE endevent;
endevent = OpenEvent(EVENT_ALL_ACCESS,TRUE,"ENDWLS");
WaitForSingleObject(endevent,INFINITE);
SERVICE_STATUS ss;
QueryServiceStatus(schs,&ss);
if(ss.dwCurrentState != SERVICE_STOPPED)
{
LPSERVICE_STATUS xyz = (LPSERVICE_STATUS)malloc(sizeof(LPSERVICE_STATUS));
ControlService(schs,SERVICE_CONTROL_STOP,xyz);
}
DeleteService(schs);
//error occurs right here
DeleteFile(a.c_str());
return 0;
}
Run Code Online (Sandbox Code Playgroud)
该错误始终发生在DeleteService之后和下一行之前,但我确定它不是DeleteService,因为该服务已被删除.我试着注释掉DeleteService和DeleteFile,但它仍然崩溃了.我确定我犯了一些傻瓜错误而且我只是失明了.在此先感谢您的帮助!