PDA

View Full Version : بازکردن برنامه به صورت مخفی



Dr Saeed
شنبه 26 مهر 1393, 00:30 صبح
با سلام دوستان

یه فایل exe دارم میخوام این برنامرو باز کنم حالا با دستور شل یا open فقط به صورت مخفی هرچی کد بلد بودم زدم نشد :) لطفا کمک بفرمایید

با سپاس

meys34
دوشنبه 28 مهر 1393, 12:53 عصر
بعضی برنامه ها هستند که حتی اگر مخفی هم اجرا شون کنی بازم خودشون رو دوباره نمایش میدن... مثل همین ماشین حساب خودمون...

منظورم اینه که حتی با این دستور هم هیدن اجرا نمیشن...

Shell "calc.exe", vbHide

کاری که میشه کرد اینه که پس از اجرا، هندل پنجره رو پیدا کنی و دوباره مخفی اش کنی...

alirezabahrami
دوشنبه 28 مهر 1393, 17:48 عصر
با سلام دوستان

یه فایل exe دارم میخوام این برنامرو باز کنم حالا با دستور شل یا open فقط به صورت مخفی هرچی کد بلد بودم زدم نشد :) لطفا کمک بفرمایید

با سپاس
سلام
بیشترتوضیح میدادی بهتر میشد کمک کرد !
اگر به سورس آن فایل اگزه که می خواهید بصورت مخفی اجرا شود دسترسی دارید و آن فایل به زبان وی بی نوشته شده کافی است در رویداد Load فرم اولیه آن Me.Visible=False را تایپ کنید.

یا علی

Dr Saeed
سه شنبه 29 مهر 1393, 02:53 صبح
سلام
بیشترتوضیح میدادی بهتر میشد کمک کرد !
اگر به سورس آن فایل اگزه که می خواهید بصورت مخفی اجرا شود دسترسی دارید و آن فایل به زبان وی بی نوشته شده کافی است در رویداد Load فرم اولیه آن Me.Visible=False را تایپ کنید.

یا علی

نه داداش نگرفتی چی شد !

یه برنامه دیگس مثل همین ماشین حساب ویندوز میخوام به صورت مخفی اجراشه .. بعضی برنامه ها میشه بعضی ها نمیشه اگه اینجاشو دوستان کمک کنن خیلی خوب میشه

vbhamed
پنج شنبه 01 آبان 1393, 09:50 صبح
سلام
خب بعضي نرم افزارها درون كد خودشون دستور نمايش فرم رو به صورت خاصي ميدن كه حتما نمايش داده ميشه و با پارامترهاي دستوراتي مثل Shell نميشه مخفيشون كرد ولي شايد كاري بشه انجام داد اونم اينكه اولا با تابع LockWindowUpdate پنجره دسكتاپ ويندوز و فرم اون برنامه رو فريز كنيد تا تغييرات روي صفحه نمايش منعكس نشه بعدش با پيدا كردن هندل فرم اون برنامه و استفاده از توابعي مثل SetWindowPos فرم برنامه رو پس از نمايش (كه البته نمايشش هم فريز شده) مخفي كنيد و سپس پنجره دسكتاپ و فرم اون برنامه رو با دستور LockWindowUpdate 0 از حالت فريز در بياريد

rahnema1
پنج شنبه 01 آبان 1393, 12:46 عصر
سلام
شما باید از تابع CreateProcess از Win32API استفاده کنید و دو تا پارامتر مربوطه را با مقادیر STARTF_USESHOWWINDOW و SW_HIDE تنظیم کنید
در پست زیر نحوه کار در زبان c توضیح دادم
http://barnamenevis.org/showthread.php?469826

Dr Saeed
پنج شنبه 01 آبان 1393, 13:07 عصر
سلام
خب بعضي نرم افزارها درون كد خودشون دستور نمايش فرم رو به صورت خاصي ميدن كه حتما نمايش داده ميشه و با پارامترهاي دستوراتي مثل Shell نميشه مخفيشون كرد ولي شايد كاري بشه انجام داد اونم اينكه اولا با تابع LockWindowUpdate پنجره دسكتاپ ويندوز و فرم اون برنامه رو فريز كنيد تا تغييرات روي صفحه نمايش منعكس نشه بعدش با پيدا كردن هندل فرم اون برنامه و استفاده از توابعي مثل SetWindowPos فرم برنامه رو پس از نمايش (كه البته نمايشش هم فريز شده) مخفي كنيد و سپس پنجره دسكتاپ و فرم اون برنامه رو با دستور LockWindowUpdate 0 از حالت فريز در بياريد

سپاس حامد جان

ولی من تاحالا با هیچ کدوم از اینایی که شما فرمودید کار نکردم میشه مثال بزنید ...