【问题标题】:error when i tried opening a website with windows.h library当我尝试使用 windows.h 库打开网站时出错
【发布时间】:2015-04-18 19:30:24
【问题描述】:
#include<iostream>
#include <windows.h>
#include<string>
using namespace std;

int main()
{

cout << "Opening Google...";
ShellExecute(NULL, L"open", L"https://www.google.com",NULL, NULL,   SW_SHOWNORMAL);




return 0;

}

我收到此错误:无法将 'const wchart_t*' 转换为 'LPCSTR{aka const char*}\ for argument '2' to 'HINSTANCE_*SHellExecuteA(HWND,LPCSTR,LPCSTR, LPCSTR, LPCSTR, INT)'

【问题讨论】:

  • 您应该编译任何新的 Windows 应用程序并定义了UNICODE
  • 你会怎么做呢?从未在 windows.h 库上工作过:p
  • 取决于编译器。 -DUNICODE 在 GCC 和 Clang 中。 /DUNICODE 在 MSVC 中,但我认为现在有一些项目选项默认启用。

标签: c++


【解决方案1】:

你有两个能力:

  1. 正如@chris 所说,您可以使用定义的 UNICODE 编译您的程序
  2. 您可以为字符串文字使用特殊的宏以获得更大的灵活性

    ShellExecute(NULL, 文本(“打开”), TEXT("https://www.google.com"), 空值, 空,
    SW_SHOWNORMAL);

【讨论】:

    猜你喜欢
    • 2016-08-26
    • 2012-01-20
    • 2019-01-11
    • 2012-08-09
    • 1970-01-01
    • 2017-09-14
    • 2019-01-06
    • 2015-04-10
    • 1970-01-01
    相关资源
    最近更新 更多