امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
تغییر دادن مسیر پوشه!؟؟؟؟
نویسنده پیام
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #1
Question  تغییر دادن مسیر پوشه!؟؟؟؟
با سلام
سئوالی داشتم که اگه کسی لطف کنه و پاسخ بده بی نهایت ممنون میشم.

برای مثال توی یک پوشه یک فایل اجرایی داریم، حال می خواهم وقتی که رفتم توی اون پوشه و روی فایل اجرایی کلیک کردم، مسیر پنجره جاری پوشه که توش همان فایل EXE بود عوض شود و بشه C:\Windows یعنی اینکار پنجره ای که بازه دیگه به فایل اجرایی اشاره نکنه بلکه به پوشه C:\Windows و هر چی داخلش هست اشاره کنه. به عبارت دیگه اینکار که خودمون روی پوشه C:\Windows دوبار کلیک کردیم و بازش کردیم. البته در همان پنجره بازی که بود نمی خواهم پنجره دیگه ای باز شود.Exclamation

البته من یک کدی بعد از ساعت ها جستجو پیدا کردم ولی فقط عنوان پنجره تغییر می کنه نه محتوای پوشه و پنجره!!؟؟؟؟
کد:
procedure TForm1.Button2Click(Sender: TObject);
var
MyHandle: THandle;
begin
MyHandle:=FindWindow(nil, 'Folder Test');

if MyHandle <> 0 then
begin
SendMessage(MyHandle, WM_SETTEXT, 0, Longint(PChar('C:\Windows')));
end;

end;
لطفا راهنمایی کنید چون این قضیه را خیلی لازم دارم.SadSad
با تشکر فراوان.

Assembly Language 039

(آخرین ویرایش در این ارسال: ۱۸-فروردین-۱۳۹۲, ۰۶:۴۳:۱۸، توسط The.Ghost.)
۱۸-فروردین-۱۳۹۲, ۰۶:۲۷:۳۹
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, aKaReZa75
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #2
RE: تغییر دادن مسیر پوشه!؟؟؟؟
خب برای این کار باید هندل combobox که ادرس جاری هستو بگیری مسیر پوشه ویندوز رو بدی بهش بعد یه اینتر هم بهش ارسال کنی

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۱۸-فروردین-۱۳۹۲, ۱۰:۲۹:۲۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, aKaReZa75, The.Ghost
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #3
RE: تغییر دادن مسیر پوشه!؟؟؟؟
ممنونم دوست عزیز ولی من هر کاری کردم نشو!!!!
میشه یکمی بیشتر راهنمایی کنی و لطفا بگی که چطوری این کار انجام بدم؟؟؟؟
با تشکر فراوان

Assembly Language 039

۱۹-فروردین-۱۳۹۲, ۰۱:۰۸:۴۲
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, aKaReZa75
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #4
RE: تغییر دادن مسیر پوشه!؟؟؟؟
این کد لیست ادرس windows explorer رو تو یه listbox میریزه

کد:
type
  TForm1 = class(TForm)
    Button1: TButton;
    ListBox1: TListBox;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function GetUrlFromWE (Handle: THandle; List: TStringList): boolean; stdcall;
var
  hWndIE, hWndIEChild : HWND;
  Buffer : array[0..255] of Char;
begin
  //get the window caption
  SendMessage(Handle, WM_GETTEXT, 255, integer(@Buffer[0]));
  //look for the Internet Explorer window with "Buffer" caption
  hWndIE := FindWindow('ExploreWClass', Buffer);
  if hWndIE > 0 then
    begin
    //try to get a handle to IE's toolbar container
    hWndIEChild := FindWindowEx(hWndIE, 0, 'WorkerW', nil);
    if hWndIEChild > 0 then
    begin
      //get a handle to address bar
      hWndIEChild := FindWindowEx(hWndIEChild, 0, 'ReBarWindow32', nil);
      if hWndIEChild > 0 then
      begin
        //finally, locate combo box and add its text to the list
        hWndIEChild := FindWindowEx(hWndIEChild, 0, 'ComboBoxEx32', nil);
        if hWndIEChild > 0 then
        begin
          SendMessage(hWndIEChild, WM_GETTEXT, 255, integer(@Buffer));
          //List.AddObject(Buffer,TObject(hWndIE));
          List.Add(Buffer)
        end;
      end;
    end;
  end;
  //continue enumeration
  Result :=True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Clear;
  EnumWindows(@GetUrlFromWE, LParam(ListBox1.Items));
end;

end.

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۱۹-فروردین-۱۳۹۲, ۰۹:۱۲:۴۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : The.Ghost, babyy, aKaReZa75
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #5
RE: تغییر دادن مسیر پوشه!؟؟؟؟
(۱۹-فروردین-۱۳۹۲, ۰۹:۱۲:۴۶)lord_viper نوشته است: این کد لیست ادرس windows explorer رو تو یه listbox میریزه

کد:
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

function GetUrlFromWE (Handle: THandle; List: TStringList): boolean; stdcall;
var
hWndIE, hWndIEChild : HWND;
Buffer : array[0..255] of Char;
begin
//get the window caption
SendMessage(Handle, WM_GETTEXT, 255, integer(@Buffer[0]));
//look for the Internet Explorer window with "Buffer" caption
hWndIE := FindWindow('ExploreWClass', Buffer);
if hWndIE > 0 then
begin
//try to get a handle to IE's toolbar container
hWndIEChild := FindWindowEx(hWndIE, 0, 'WorkerW', nil);
if hWndIEChild > 0 then
begin
//get a handle to address bar
hWndIEChild := FindWindowEx(hWndIEChild, 0, 'ReBarWindow32', nil);
if hWndIEChild > 0 then
begin
//finally, locate combo box and add its text to the list
hWndIEChild := FindWindowEx(hWndIEChild, 0, 'ComboBoxEx32', nil);
if hWndIEChild > 0 then
begin
SendMessage(hWndIEChild, WM_GETTEXT, 255, integer(@Buffer));
//List.AddObject(Buffer,TObject(hWndIE));
List.Add(Buffer)
end;
end;
end;
end;
//continue enumeration
Result :=True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Clear;
EnumWindows(@GetUrlFromWE, LParam(ListBox1.Items));
end;

end.

این کد من هر کاری می کنم کار نمی کنه؟؟؟؟ فکر کنم یک جایش مشکل داره!!!
ExclamationSadSadSadSadSadSadSadSadSad

Assembly Language 039

۱۹-فروردین-۱۳۹۲, ۱۵:۰۶:۲۳
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, aKaReZa75
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #6
RE: تغییر دادن مسیر پوشه!؟؟؟؟
شرمنده حواسم نبود اون مال IE بود
قبلا کدهاشو نوشته بودم تو تاپیک زیر
رو xp تست شده احتمالا رو سون هم جواب میده

کد:
http://www.iranled.com/forum/thread-20515.html?highlight=ReBarWindow32

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۱۹-فروردین-۱۳۹۲, ۱۶:۴۳:۳۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, aKaReZa75, The.Ghost
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #7
RE: تغییر دادن مسیر پوشه!؟؟؟؟
ممنونم دوست عزیز ولی من هر کاری می کنم نمیشه که آدرس پنجره جاری تغییر بدم و به یک جای دیگه اشاره کنه؟؟!!!

Assembly Language 039

۲۰-فروردین-۱۳۹۲, ۰۲:۳۸:۳۷
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, aKaReZa75
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #8
RE: تغییر دادن مسیر پوشه!؟؟؟؟
با کد زیر الان ادرس رو تونستی بگیری؟

کد:
procedure TForm1.Button1Click(Sender: TObject);
Var
Adwnd:hwnd;
Len:integer;
text:string;
begin
Adwnd:=FindWindow('CabinetWClass',nil);
Adwnd:=FindWindowEx(Adwnd,0,'WorkerW',nil);
Adwnd:=FindWindowEx(Adwnd,0,'ReBarWindow32',nil);
Adwnd:=FindWindowEx(Adwnd,0,'ComboBoxEx32',nil);
Adwnd:=FindWindowEx(Adwnd,0,'ComboBox',nil);
Adwnd:=FindWindowEx(Adwnd,0,'Edit',nil);
Len := SendMessage(Adwnd,$000E,0,0);
SetLength(Text,Len);
SendMessage(Adwnd,$000D,Len+1,LongInt(@Text[1]));
ShowMessage(text);
end;
اگه تونستی که یک ادرس جدید رو با پیغام wm_settext و یک پیغام chr(13) به عنوان اینتر میفرستی بهش

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۲۰-فروردین-۱۳۹۲, ۰۹:۱۲:۰۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : aKaReZa75, babyy, The.Ghost
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #9
RE: تغییر دادن مسیر پوشه!؟؟؟؟
(۱۸-فروردین-۱۳۹۲, ۰۶:۲۷:۳۹)The.Ghost نوشته است: با سلام
سئوالی داشتم که اگه کسی لطف کنه و پاسخ بده بی نهایت ممنون میشم.

برای مثال توی یک پوشه یک فایل اجرایی داریم، حال می خواهم وقتی که رفتم توی اون پوشه و روی فایل اجرایی کلیک کردم، مسیر پنجره جاری پوشه که توش همان فایل EXE بود عوض شود و بشه C:\Windows یعنی اینکار پنجره ای که بازه دیگه به فایل اجرایی اشاره نکنه بلکه به پوشه C:\Windows و هر چی داخلش هست اشاره کنه. به عبارت دیگه اینکار که خودمون روی پوشه C:\Windows دوبار کلیک کردیم و بازش کردیم. البته در همان پنجره بازی که بود نمی خواهم پنجره دیگه ای باز شود.Exclamation

البته من یک کدی بعد از ساعت ها جستجو پیدا کردم ولی فقط عنوان پنجره تغییر می کنه نه محتوای پوشه و پنجره!!؟؟؟؟
کد:
procedure TForm1.Button2Click(Sender: TObject);
var
MyHandle: THandle;
begin
MyHandle:=FindWindow(nil, 'Folder Test');

if MyHandle <> 0 then
begin
SendMessage(MyHandle, WM_SETTEXT, 0, Longint(PChar('C:\Windows')));
end;

end;
لطفا راهنمایی کنید چون این قضیه را خیلی لازم دارم.SadSad
با تشکر فراوان.

(۲۰-فروردین-۱۳۹۲, ۰۹:۱۲:۰۵)lord_viper نوشته است: با کد زیر الان ادرس رو تونستی بگیری؟

کد:
procedure TForm1.Button1Click(Sender: TObject);
Var
Adwnd:hwnd;
Len:integer;
text:string;
begin
Adwnd:=FindWindow('CabinetWClass',nil);
Adwnd:=FindWindowEx(Adwnd,0,'WorkerW',nil);
Adwnd:=FindWindowEx(Adwnd,0,'ReBarWindow32',nil);
Adwnd:=FindWindowEx(Adwnd,0,'ComboBoxEx32',nil);
Adwnd:=FindWindowEx(Adwnd,0,'ComboBox',nil);
Adwnd:=FindWindowEx(Adwnd,0,'Edit',nil);
Len := SendMessage(Adwnd,$000E,0,0);
SetLength(Text,Len);
SendMessage(Adwnd,$000D,Len+1,LongInt(@Text[1]));
ShowMessage(text);
end;
اگه تونستی که یک ادرس جدید رو با پیغام wm_settext و یک پیغام chr(13) به عنوان اینتر میفرستی بهش

من هر کاری کردم این کد برام کار نمی کنه؟؟!!!!
ویندوز من سون 64 بیتی می باشد.
و در آخر در پیغام ShowMessage هیچی نشان نمیدهد؟!!!SadSadSadSadSad
من این قضیه هر کار کردم نتونستم درست کنم، تورو خدا لطفا کمک کنید؟؟SadSadSadSadSad
با تشکر فراوان

Assembly Language 039

۲۱-فروردین-۱۳۹۲, ۰۱:۱۳:۳۰
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, aKaReZa75
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #10
RE: تغییر دادن مسیر پوشه!؟؟؟؟
خب میتونی کار دیگه بکنی
پنجره جاری explorer رو ببندی
با shellexecute پنجره با ادرس مورد نظر رو باز کن
این خیلی راحتره

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۲۱-فروردین-۱۳۹۲, ۱۰:۰۵:۳۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, The.Ghost, aKaReZa75


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] مقادیر تغییر نمی کنند؟؟ Majid_Ebru 4 2,886 ۳۰-خرداد-۱۳۹۵, ۱۷:۰۲:۵۲
آخرین ارسال: Majid_Ebru
Question متوجه شدن اینکه فایل تغییر کرده The.Ghost 7 5,482 ۲۳-اردیبهشت-۱۳۹۵, ۱۹:۲۸:۲۹
آخرین ارسال: lord_viper
Question تغییر نام exe در رم The.Ghost 4 3,538 ۲۰-بهمن-۱۳۹۳, ۰۴:۰۴:۱۰
آخرین ارسال: The.Ghost
Question تغییر دادن مک آدرس کارت شبکه! The.Ghost 4 5,453 ۱۳-اسفند-۱۳۹۱, ۰۲:۳۶:۰۰
آخرین ارسال: The.Ghost
myBB [سوال] تغییر میزان روشنایی و شفافیت مانیتور Majid_Ebru 1 2,400 ۰۹-شهریور-۱۳۹۱, ۰۱:۴۸:۰۵
آخرین ارسال: veyskarami
  گرفتن ادرس پوشه جاری در Explorer.exe lord_viper 0 2,455 ۱۵-فروردین-۱۳۹۰, ۱۰:۴۳:۴۹
آخرین ارسال: lord_viper
Question موج دادن عکس megatron 2 2,591 ۲۱-شهریور-۱۳۸۹, ۱۹:۰۸:۰۴
آخرین ارسال: lord_viper
Shy تغییر نام اگزه The.Ghost 2 2,838 ۱۲-مهر-۱۳۸۸, ۱۹:۲۲:۲۴
آخرین ارسال: veyskarami
  تغییر آنی در دلفی yeketaz 1 2,779 ۰۶-آذر-۱۳۸۷, ۲۳:۴۳:۴۰
آخرین ارسال: lord_viper
Question نسبت دادن به متغیر در sql mohamad5228 9 8,549 ۰۱-آبان-۱۳۸۷, ۲۲:۵۶:۲۹
آخرین ارسال: mohamad5228

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS