我在网上看到的一个例子,不能运行?procedure  TabCtrlSetItemIndex(aTitle:  String;  i:  Integer);  
var  
 hWindowsHandle,  hTabHandle:  Integer;  
begin  
 hWindowsHandle  :=  FindWindow(Nil,  PChar(aTitle));  
 if  hWindowsHandle  =  0  then  Exit;  
 hTabHandle  :=  FindWindowEx(hWindowsHandle,  0,
     'SysTabControl32',  Nil);  
 if  hTabHandle  =  0  then  Exit;
 SendMessage(hTabHandle,TCM_SETCURFOCUS,  i,  0);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Main.cpl @1', SW_SHOWNORMAL);
  TabCtrlSetItemIndex('键盘 属性', 1);
end;

解决方案 »

  1.   

    TCM_SETCURFOCUS好像不对,怎样运行这个程序。
      

  2.   

    是不是用的WM_SETFOCUS啊?
      

  3.   

    TCM_SETCURFOCUS是WINDOWS的消息,不过不知道DELPHI在哪里定义这个消息值要不你可以截一下,自己看看是多少,然后代替这个常量
      

  4.   

    procedure  TabCtrlSetItemIndex(aTitle:  String;  i:  Integer);
    const TCM_SETCURFOCUS = $1330;
    var
     hWindowsHandle,  hTabHandle:  Integer;
    begin
     hWindowsHandle  :=  FindWindow(Nil,  PChar(aTitle));
     if  hWindowsHandle  =  0  then  Exit;
     hTabHandle  :=  FindWindowEx(hWindowsHandle, 0, 'SysTabControl32',  Nil);
     if  hTabHandle  =  0  then  Exit;
      SendMessage(hTabHandle, TCM_SETCURFOCUS,  i,  0);
    end;