vs2005的运行时候出现了:无法启动调试,绑定句柄无效?

两个解决方法:
1) 打开项目属性,选择调试选项卡,将“启用非托管代码调试”一项钩上。
2) 打开项目属性,选择调试选项卡,将“启用Visual Studio宿主进程“一项钩掉。
原因是Terminal Services 被禁用,启动服务即可解决问题。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
无法直接将std::cin连接到GetStdHandle的句柄。 std::cin是C++标准库中的输入流,而GetStdHandle是Windows API中用于获取标准输入/输出/错误流的句柄函数。它们的类型和实现方式完全不同。 如果想要将标准输入流与GetStdHandle的句柄进行连接,可以使用CreateFile函数来打开标准输入流对应的文件句柄,然后将该句柄作为参数传递给GetStdHandle函数来获取标准输入流的句柄。 以下是一个示例代码: ```c++ #include <windows.h> #include <iostream> int main() { HANDLE hStdin = CreateFile("CONIN$", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hStdin == INVALID_HANDLE_VALUE) { std::cerr << "Error: failed to open CONIN$." << std::endl; return 1; } if (!SetStdHandle(STD_INPUT_HANDLE, hStdin)) { std::cerr << "Error: failed to set standard input handle." << std::endl; CloseHandle(hStdin); return 1; } HANDLE hStdin2 = GetStdHandle(STD_INPUT_HANDLE); if (hStdin != hStdin2) { std::cerr << "Error: handle mismatch." << std::endl; CloseHandle(hStdin); return 1; } std::string input; std::cin >> input; std::cout << "Input: " << input << std::endl; CloseHandle(hStdin); return 0; } ``` 这个示例代码将标准输入流与CONIN$文件连接起来,然后通过SetStdHandle函数将标准输入流的句柄设置为连接后的文件句柄。最后通过GetStdHandle函数获取标准输入流的句柄并与之前获取的文件句柄进行比较,以确保连接成功。 运行该程序后,输入任意字符并按下回车键,程序将输出输入的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值