我有一个程序,从外部传了一个HWND参数进来,但是因为是程序参数所以传进来就变成了string变量,现在我需要把这个string变量转换成hwnd,该怎样转换呢,请高手解答

解决方案 »

  1.   

    您意思理解错了,不不是要把hwnd转成string,而是要把string转成hwnd
      

  2.   

    我也想了这种方式,但是hwnd是LongWord类型的,不知道这种方式会不会出错呢
      

  3.   

    有这个问题可以
    var
      h:hwnd;
      s:string;
      x: int64;
    begin
      s:='2147483648';
      x:=strtoint64(s);
      h:=hwnd(x);
     end;
      

  4.   

    var 
      h:hwnd; 
      s:string; 
      x: int64; 
    begin 
      s:='2147483648'; 
      x:=strtoint64(s); 
      h:=hwnd(x); 
    end;应该没有问题的 
      

  5.   


    这样也可:var
      H: hWnd;
      E: integer;
    begin
      Val('2147483649', H, E);
      Showmessage(InttoStr(H));
    end;
      

  6.   

    hwnd := Cardinal(strtoint(s));这样看看
      

  7.   

    hwnd := Cardinal(strtoint(s));
    hwnd := DWORD(strtoint(s));