掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
エクスプローラのフォルダを変更する方法 (ID:38221)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
クラス名とか調べるの面倒だから とりあえず C:\ から D:\ に変更 procedure TForm1.Button1Click(Sender: TObject); var OwnerHandle,I1,I2,J1,J2: HWND; Buffer: array[0..255] of Char; Input : array[0..0] of TInput; procedure KeybdInput(VK:Byte;dwFlags:DWORD); begin with Input[0] do begin Itype := INPUT_KEYBOARD; ki.wVk := VK; ki.wScan := MapVirtualKey(VK,0); ki.dwFlags := KEYEVENTF_EXTENDEDKEY or dwFlags; ki.time := 0; ki.dwExtraInfo := GetMessageExtraInfo; end; end; function Find(Index: Integer; OwnerHandle: HWND): Boolean; var A1,A2: Integer; begin A1 := 0; A2 := 1; while A2 <> 0 do begin A2 := FindWindowEx (OwnerHandle , A1 ,nil,nil); if A2 <> 0 then begin SendMessage (A2,WM_GETTEXT,SizeOf(Buffer),Integer(@Buffer)); if StrPas(Buffer) = 'C:\' then begin StrPCopy(Buffer,'D:\'); SendMessage (A2,WM_SETFOCUS,0,0); SendMessage (A2,WM_SETTEXT,0,Integer(@Buffer)); KeybdInput (13,0); Windows.SendInput (1,Input[0],SizeOf(Input[0])); end; Find(Index+1,A2); end else begin end; A1 := A2; end; end; begin ShellExecute(Handle, nil, PChar('C:\'), nil, nil, SW_SHOW); Sleep(3000); OwnerHandle := FindWindow (nil,'WindowsXP 80GB (C:)'); //適当に if OwnerHandle <> 0 then begin I1 := 0; I2 := 1; while I2 <> 0 do begin I2 := FindWindowEx (OwnerHandle, I1 ,nil,nil); if I2 <> 0 then begin Buffer := 'AAAA2222'; SendMessage (I2,WM_SETTEXT,Integer(@Buffer),0); Memo1.Lines.Add ('#1'); Find(2,OwnerHandle); end else begin end; I1 := I2; end; end else begin end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.