将LPWSTR pszName改为wchar_t *pszName[100]不行吗,指针好像没有被初始化,另外strcpy是c的标准运行库函数,只能对ascii类型的字符串进行操作,你可以试用一下wcscpy,它是c运行库专为unicode字符处理扩展的一组函数中的一个

解决方案 »

  1.   

    pszName = _TEXT("pS");....................
      

  2.   

    给段程序你瞧瞧
    int wmain(int argc, wchar_t *argv[])
       {
           LPWSTR wMachineAccount;
           LPWSTR wPrimaryDC;
           LPWSTR wMachineAccountPrivilege =L"SeMachineAccountPrivilege";
           DWORD dwError;
           BOOL bSuccess;       if (argc < 2)
           {
               fprintf(stderr, "Usage: %ls <machineaccountname> [domain]\n",
                   argv[0]);
               return RTN_USAGE;
           }       wMachineAccount = argv[1]; //瞧,看这里!不是直接赋值吗?
      

  3.   

    楼上的,我编译怎么出错呀:
    error C2440: '=' : cannot convert from 'char [3]' to 'unsigned short *'
      

  4.   

    象这样副职:
    LPWSTR wMachineAccountPrivilege =L"SeMachineAccountPrivilege";
    这种副职的方式不是很好吗?
      

  5.   

    试试看
    pszName = L"PS";
      

  6.   

    LPWSTR pszName;
    #define _UNICODE
    pszName=_T("kajsdklfjasdjlfkjasd");
    #undef _UNICODE