View Full Version : کلیک روی دکمه ای در فرم بدون باز کردن آن
Mask
جمعه 06 دی 1387, 15:19 عصر
با سلام به دوستان عزیز
من می خام بدون اینکه پنجره folder option رو باز کنم بر روی دکمه Restore Defaults در سربرگ View کلیک بشه. و تنظیمات دوباره به صورت پیشفرض بشه.
با تشکر.
Mask
شنبه 07 دی 1387, 20:45 عصر
دوستان یه مرحمتی بفرمایند جواب بدهند.
arash_ebrahimi_nk
شنبه 07 دی 1387, 22:48 عصر
اگر در گوگل جستجو کردی و کدی برای اجرای مستقیم عمل مذکور (مثلاً از طریق رجیستری یا توابع API) پیدا نکردی بهم بگو تا روش باز کردن اون پنجره و هوک برای ظاهر نشدنش و کلیک دکمه رو بگم.
Mask
شنبه 07 دی 1387, 23:05 عصر
بازم دستت درد نکنه جواب دادی.
من میتونم از طریق ریجستری اینکار رو بکنم یعنی تنظیمات فولدر آپشن رو به حالت اول برگردونم اما تا وقتی که یه بار پنجره فولدر آپشن باز نشه و یه تغییر کوچولو انجام نشه ، تنظیمات من تو ریجیستری مفید نیست.
حتی بعد از ریاستارت هم تغییرات انجام نمیشه.
نمی دونم چرا ایجوریه.
حتما یه بار باید فولدر آپشن باز بشه و یه تغییر توش انجام بشه تا تنظیمات من تو ریجیستری اعمال بشه.
vcldeveloper
شنبه 07 دی 1387, 23:16 عصر
من میتونم از طریق ریجستری اینکار رو بکنم یعنی تنظیمات فولدر آپشن رو به حالت اول برگردونم اما تا وقتی که یه بار پنجره فولدر آپشن باز نشه و یه تغییر کوچولو انجام نشه ، تنظیمات من تو ریجیستری مفید نیست.
حتی بعد از ریاستارت هم تغییرات انجام نمیشه.
این یعنی تغییراتی که در رجیستری دادید درست نیستند، یا ناقص هستند و باید علاوه بر آن تغییر، تغییرات دیگه ایی هم اعمال کنید. خودِ پنجره Folder Options به خودی خود معجزه نمیکنه.
arash_ebrahimi_nk
شنبه 07 دی 1387, 23:26 عصر
معمولاً علاوه بر رجیستری باید یک پیام هم به پنجره Explorer یا ویندوز ارسال نمایید تا از اعمال تغییرات در رجیستری مطلع گردد از وجود پیام خاص برای این کار اطلاع ندارم ولی در موارد مشابه اینگونه پیام ها نقش کلیدی داشتند.
Mask
یک شنبه 08 دی 1387, 08:00 صبح
این یعنی تغییراتی که در رجیستری دادید درست نیستند، یا ناقص هستند و باید علاوه بر آن تغییر، تغییرات دیگه ایی هم اعمال کنید. خودِ پنجره Folder Options به خودی خود معجزه نمیکنه.
اگه تغییرات من در ریجیستری درست نباشه حتی پس از باز و بسته شدن فولدر آپشن هم نباید تغییرات اعمال بشه.
پس تغییرات رو من درست انجام میدم اما این یا ضعف ویندوزه یا قدرتش که هتما باید فولدر آپشن باز بشه و یه تغییر توش انجام بشه تا تغییرات من هم اعمال بشه.
من کار خاصی انجام نمیدهم.
مثلا در قسمت
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Explorer\Advanced\Folder\ShowFullPath
میخام مقدار UncheckedValue رو به 1 تغییر بدهم.
این کار اشتباهی نیست.
معمولاً علاوه بر رجیستری باید یک پیام هم به پنجره Explorer یا ویندوز ارسال نمایید تا از اعمال تغییرات در رجیستری مطلع گردد از وجود پیام خاص برای این کار اطلاع ندارم ولی در موارد مشابه اینگونه پیام ها نقش کلیدی داشتند
دوست عزیز ممنون
من دارم میگم سیستم رو هم ری استارت می کنم بازم تغییرات اعمال نمیشه.
پس send masig یا بازو بسته کردن explorer فایده نداره.
یه راه مطمئن نیازه.
arash_ebrahimi_nk
یک شنبه 08 دی 1387, 10:37 صبح
فرستادن پیام محدود به sendmessage نیست از طریق rundll32 هم پیام هایی قابل ارسال هست که بیشتر شبیه اجرای یک کامند لاین هست و از روی تجربه در چنین کارهایی بهتون توصیه کردم که ابتدا این راه را بررسی کنید.
الان خودم کمی جستجو میکنم.
برای ویندوز اکس پی
http://www.edbott.com/weblog/?p=692
برای ویستا
http://www.edbott.com/weblog/?p=1774
در مورد عوض کردن گزینه ای دیگر در Folder Opions بحث شده اما ممکنه خالی از لطف نباشه.
باید بیشتر جستجو کنید چون استفاده از هوک برای مخفی کردن این پنجره کمی مشکله.
این صفحه رو هم با لینک هاش مورد بررسی قرار بدهید.
http://www.autohotkey.com/forum/topic13509.html
امیدوارم به نتیجه برسید.
vcldeveloper
یک شنبه 08 دی 1387, 15:29 عصر
اگه تغییرات من در ریجیستری درست نباشه حتی پس از باز و بسته شدن فولدر آپشن هم نباید تغییرات اعمال بشه.
پس تغییرات رو من درست انجام میدم اما این یا ضعف ویندوزه یا قدرتش که هتما باید فولدر آپشن باز بشه و یه تغییر توش انجام بشه تا تغییرات من هم اعمال بشه.
چطور به همچین نتیجه گیری رسیدید؟! ممکن هست FolderOption در هنگام باز و بسته شدن خودش 10 تغییر مختلف در سیستم بدهد، و اون تغییری که شما انجام دادید، فقط یکی از اون 10 تغییر باشد. پس چطور انتظار دارید که با همان یک تغییر نتیجه ایی مشابه آن چند تغییری که FolderOption اعمال کرده، بدست بیاید؟!
hojjatcroos
دوشنبه 09 دی 1387, 08:11 صبح
سلام.شما باید از طریق زیر با ویندوز ارتباط برقرار کنید البته باید یک بار Explorer.exe رو ببندید و دوباره اجرا کنید
شاخه اصلی:
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Explorer\Advanced
مثلا برای مخفی کردن فایل ها مقدار Hidden را به 2 تغییر دهید و برای آشکار کردن به یک
arash_ebrahimi_nk
دوشنبه 09 دی 1387, 09:16 صبح
آیا جناب دلفی-7 لینک هایی که گذاشتم رو بررسی کردند؟ آیا از اونها به نتیجه نرسیدند؟
Mask
دوشنبه 09 دی 1387, 22:31 عصر
آیا جناب دلفی-7 لینک هایی که گذاشتم رو بررسی کردند؟ آیا از اونها به نتیجه نرسیدند؟
دست گلت درد نکنه.
دوستان عزیز hojjatcroos (http://barnamenevis.org/forum/member.php?u=78999) و arash_ebrahimi_nk (http://barnamenevis.org/forum/member.php?u=19570) بنده نمیخام تیک show یا hidden رو بزارم یا بردارم(فقط تغییر اون کلید در ریجیستری که در پست قبلیم گفتم رو میخام). من می تونم به راحتی با دلفی برنامه ای بنویسم که این تیک ها رو بزاره یا برداره(show و hidden رو میگما).و همچنین چنین تغییری با یک بار ریاستارت اعمال میشه.
اما در جواب جناب کشاورز که فرمودند با باز شدن folder option احتمال داره کار های زیادی انجام بشه. می خام بدونم چرا وقتی من از طریق ریجستری مثلا تیک فایلهای مخفی رو می زارمیا برمیدارم بعد از ریاستارت یا حتی باز و بسته شدن پروسه explorer اعمال میشه اما با تغییر در کلید ریجستری که در پست قبلیم نام بردم حتی با ری استارت هم تغییر نمی کنه و باید حتما folder option یه بار باز و یه تغییر کوچولو توش اعمال بشه و پس از ok کردن تغییر من در ریجیستری اعمال میشه.
اگه واقعا با باز شدن folder option یه سری کارها بدون اینکه من متوجه بشم انجام میشه پس باید تغییر در نشان دادن فایلهای مخفی هم پس از ری استارت اعمال نشه؟؟؟
AliReza Vafakhah
دوشنبه 09 دی 1387, 22:54 عصر
من با عقیده آقای کشاورز موافقم
من هم دقیقا این کار رو می خواستم انجام بدم که با کلی درد سر قبل از اجرای تغییرات روی folder option وبعد از تغییرات روی folder option از رجیستری یه بک آپ می گرفتم و بعد هم با نرم افزار Ultera Compare این دو فایل رو مقایسه می کردم خلاصه آدرس رو به دست می اوردم اما وقتی در برنامه ام تغییر می دادم تغییر نمی کرد و نیاز به یک ریست داشت با لوگ آف
البته در قسمتی از رجیستری تغیر دیگری هم انجام می شود که من قادر به تشخیص تغییر نبودم
vcldeveloper
سه شنبه 10 دی 1387, 01:53 صبح
یه برنامه مثل SysInternals Process Monitor را روی سیستمتان اجرا کنید، و بعد Folder Options را اجرا کرده، تغییرات مورد نظر را اعمال کرده، و با تایید تغییرات، Folder Options را ببندید. Process Monitor لیست تمامی کلیدهای رجیستری که Folder Options به آنها دسترسی پیدا کرده، یا آنها را تغییر داده، و تمامی فایل هایی که به آنها دسترسی داشته را برای شما لیست میکنه.
یک کار دیگه که می تونید در کنار این انجام بدید، این هست که با برنامه ایی مثل WinSpector Spy چک کنید که Folder Options چه پیام هایی ارسال میکنه، شاید لازم باشه بعد از انجام تغییر پیام خاصی ارسال بشه.
کار دیگه ایی که می تونید بکنید اینه که لیست توابع Import شده به فایل مربوط به Folder Options را بدست بیارید (فکر کنم یک DLL باشه)، و بررسی کنید، شاید تابعی پیدا کردید که برایتان آشنا نبود، و کار بخصوصی در این زمینه انجام می داد.
یا کار بهتر از روش قبلی اینه که سعی کنید با یک دیباگر رفتار Folder Options را بررسی کنید و ببینید بعد از اعمال تغییر و موقع بسته شدن، چه توابعی را فراخوانی می کند.
اینها کارهای عمومی هست که می تونید برای پی بردن به کارهایی که یک برنامه انجام میده، ازشان استفاده کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.