PDA

View Full Version : کدی به زبان VB6 دارم نیاز به معادل اون در #C دارم!



AlgorithmX
سه شنبه 21 تیر 1390, 20:47 عصر
سلام!
دوستان ببخشید من یک کدی به زبان VB6 دارم نیاز به معادل اون در #C دارم!
این کد نام یک فرم رو در ویندوز میگیره و اگر اون باز باشه می بندش!
مثلا وقتی Windows Task Manager رو به اون می دیم اونو برامون می بنده!!


Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "User32" (ByVal hWnd As Long) As Long


Dim WinShell
Set WinShell = CreateObject("Wscript.shell")
Dim handel As Long
handel = FindWindow(vbNullString, Text1.Text)
If handel <> 0 Then
SetForegroundWindow handel
SendKeys "%{f4}", 1
End If

flash118
سه شنبه 21 تیر 1390, 22:16 عصر
دوست عزیز لینک زیر رو بررسی بفرمایید:
http://www.developerfusion.com/tools/convert/vb-to-csharp/

AlgorithmX
پنج شنبه 23 تیر 1390, 01:06 صبح
دوست عزیز لینک زیر رو بررسی بفرمایید:
http://www.developerfusion.com/tools/convert/vb-to-csharp/
این برای کدهای Vb.net به #C هست! به VB6 به #C! ولی باز ممنونم!

حالا من کد VB.net رو با کمک جناب[/URL] [URL="http://barnamenevis.org/member.php?156317-Saman_12"]Saman_12 (http://barnamenevis.org/member.php?156317-Saman_12) گیر آوردم ولی وقتی با برنامه، سایت و .. تبدیلش می کنم نتیجه خوبی نمی گیرم!
ممنون میشم معادلشو برام در #C گیر بیارید! ولی مهم نیست که پروژه کار رو درست انجام بده مهم اینه که سورس درست کارکنه (یعنی بدون کامپوننت و ابلاغ دادن به visual basic.net باشه!)

Private Declare Function findwindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Private Declare Function sendmessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Integer, ByVal Msg As Integer, ByRef wParam As IntPtr, ByRef lParam As String) As Integer

Private Const WM_CLOSE = &H10
Private Const WM_DESTORY = &H2

Private Function closewindow(ByVal windowname As String) As Boolean

Dim Hwnd As Int32 = findwindow(vbNullString, windowname)

Return sendmessage(Hwnd, WM_CLOSE, 0, 0)
End Function

Saman_12
پنج شنبه 23 تیر 1390, 07:50 صبح
اینم معادل سی شارپ(ولی بهتر بود از اول می گفتی کد سی شارپ رو می خواستی تا زود تر به نتیجه برسی!) :

[DllImport("user32.dll", EntryPoint = "FindWindowA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
private static extern int findwindow(string lpClassName, string lpWindowName);

[DllImport("user32.dll", EntryPoint = "SendMessageA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
private static extern int sendmessage(int hWnd, int Msg, int wParam, int lParam);

private const int WM_CLOSE = 0x10;
private const int WM_DESTORY = 0x2;

private bool closewindow(string windowname)
{

int Hwnd = findwindow(null, windowname);

return Convert.ToBoolean(sendmessage(Convert.ToInt32(Hwnd ), WM_CLOSE, 0, 0));
}

AlgorithmX
پنج شنبه 23 تیر 1390, 13:48 عصر
اینم معادل سی شارپ(ولی بهتر بود از اول می گفتی کد سی شارپ رو می خواستی تا زود تر به نتیجه برسی!) :
[
اتفاقا اول هم پستمو اینجا درست کردم اما بعد چند روز که کسی جواب نداد رفته بود ص4 گفتم بهتره حد اقل vb.net اونو اول گیر بیارم ، تا باقیش خدا بزرگه!
دیدن هم که بزرگه! و شما رو از تالاره vb رسوند اینجا!!

AlgorithmX
شنبه 25 تیر 1390, 13:51 عصر
چرا این کد بعضی برنامه ها یا پیغام ها رو نمی بنده؟!
مثلا : Registry Editor , Cmd, User Account Control ,..