• 0
ماريا اسلام

طلب تحويل كود بالفيجوال بيسك الى c#.net

سؤال

السلام عليكم

كيف حالكم جميعاااا؟؟؟؟

بصراحة مش عرفة فين احط موضوعي بالضبط هنا او في قسم الـ c#

لكن اعتقد هيا لن تفرق هنا او هناك حسب ما رأيت أخيرا .

المهم في الامر اخوتي انه عندي كود مكتوب بلغة الفيجول بيسك ونريد تحويله الى الفيجوال سي شارب

فأرجو مساعدتي لأني محتاجة جدا لهذا الكود وجزاكم الله كل خير .






Imports System.Runtime.InteropServices
Imports Microsoft.Win32

<ComClass(Taskbar.ClassId, Taskbar.InterfaceId, Taskbar.EventsId)> _
Public Class Taskbar

#Region "COM GUIDs"
' These GUIDs provide the COM identity for this class
' and its COM interfaces. If you change them, existing
' clients will no longer be able to access the class.
Public Const ClassId As String = "b08A1707-A153-4D8D-8157-2F95C72034F3"
Public Const InterfaceId As String = "b37950D2-92C6-4DF4-8D67-43C190971843"
Public Const EventsId As String = "b2352A08-DED1-4DA1-866F-5038344F1BD3"
#End Region

Private Const WM_COMMAND As Long = &H111

<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function PostMessage( _
ByVal hWnd As IntPtr, _
ByVal Msg As UInteger, _
ByVal wParam As IntPtr, _
ByVal lParam As IntPtr) As Boolean
End Function

<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function FindWindow( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As IntPtr
End Function

Public WriteOnly Property LockTaskBar() As Long
Set(ByVal value As Long)
Dim result As Long
result = PostMessage(FindWindow("Shell_TrayWnd", vbNullString), WM_COMMAND, 424, value)
End Set
End Property

End Class

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

9 إجابة على هذا السؤال .

  • 0

لعلك تستفيد من هذا الرابط لتحويل من vb.net الى c# أو العكس

الرابط

تم تعديل بواسطه muhedeen
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

using System.Runtime.InteropServices;
using Microsoft.Win32;
[ComClass(Taskbar.ClassId, Taskbar.InterfaceId, Taskbar.EventsId)]
public class Taskbar {

// These GUIDs provide the COM identity for this class
// and its COM interfaces. If you change them, existing
// clients will no longer be able to access the class.
public const string ClassId = "b08A1707-A153-4D8D-8157-2F95C72034F3";

public const string InterfaceId = "b37950D2-92C6-4DF4-8D67-43C190971843";

public const string EventsId = "b2352A08-DED1-4DA1-866F-5038344F1BD3";

private const long WM_COMMAND;

private static bool PostMessage(IntPtr hWnd, System.UInt32 Msg, IntPtr wParam, IntPtr lParam) {
}

[DllImport("user32.dll", SetLastError=true, CharSet=CharSet.Auto)]
private static IntPtr FindWindow(string lpClassName, string lpWindowName) {
}

public long LockTaskBar {
set {
long result;
// TODO: Labeled Arguments not supported. Argument: 2 := 'SetLastError'
// TODO: Labeled Arguments not supported. Argument: 3 := 'CharSet'
result = PostMessage(FindWindow("Shell_TrayWnd", null), WM_COMMAND, 424, value);
}
}
}

تم تحويله عن طريق هذا الموقع >>

http://www.carlosag.net/tools/codetranslator

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ..

  1. يوجد العديد من المواقع التي تحول الكود ..ابحث عنها ..
  2. قمت بتحويل الكود السابق على http://www.carlosag.net/tools/codetranslator/ و لكن عند الترجمة أعطى خطأ ..
  3. بعض المواقع تقول أن ComClass ليس لها مقابل في الــ C# و لكن لدينا GUID .. لا أعرف مالفرق ..
  4. طالما أن المطوب تشغيل التطبيق كتطبيق ويندوز عادي, اعتقد لا داعي لها ..
  5. هذا تعديل على الكود بتصرف ...
    using System.Runtime.InteropServices;
    using Microsoft.Win32;
    using System;

    [Guid(Taskbar.ClassId),
    ClassInterface(ClassInterfaceType.None),
    ComSourceInterfaces(Taskbar.InterfaceId)]

    public class Taskbar
    {

    // These GUIDs provide the COM identity for this class
    // and its COM interfaces. If you change them, existing
    // clients will no longer be able to access the class.
    public const string ClassId = "b08A1707-A153-4D8D-8157-2F95C72034F3";
    public const string InterfaceId = "b37950D2-92C6-4DF4-8D67-43C190971843";
    public const string EventsId = "b2352A08-DED1-4DA1-866F-5038344F1BD3";

    private const int WM_COMMAND = 0x111;

    [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
    private static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

    [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
    private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

    public static int LockTaskBar
    {
    set
    {
    bool result = PostMessage(FindWindow("Shell_TrayWnd", null), WM_COMMAND, 424, value);
    }
    }
    }

  6. الكود يقوم بقعل و إلغاء قفل الــ task bar ...
  7. طريقة الاستخدام :
     private void btnLockTaskBar_Click(object sender, EventArgs e)
    {
    Taskbar.LockTaskBar = 1;
    }

    private void btnUnLock_Click(object sender, EventArgs e)
    {
    Taskbar.LockTaskBar = 0;
    }

  8. تم التجريب على وبندوز 7 و هو يعمل .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمه الله وبركاته

اخي حسام الرابط المذكور هو نفس رابط الاخ njq8!!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ...

اخي حسام الرابط المذكور هو نفس رابط الاخ njq8!!
..هذا صحيح أخي VB Helper , لكن كما ذكرت أنه أعطى خطأ عند الترجمة و أني قمت بالتعديل على الكود يدويا (بتصرف) حتى جعلته يترجم و يعمل ...مثلا لم يضع قيمة لــ WM_COMMAND و لم يضع الــ extern و وضع body فارغ للإجراء و المطلوب هو فقط فاصلة منقوطة .. و غير ذلك من التعديلات ..
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاكم الله كل خير اخوتي muhedeen , njq8, hosam , VB Helper ، الله يحفظكم وويبارك فيكم ، اسعدتني طلتكم

اما بالنسبة للكود اخ حسام ما اشتغل عندي بالويندوز اكس بي ينفذ الكود تبعك بدون اخطاء

ويطلع زي الخط فوق التاسك بار لكن ما يقفله خالص ، فأرجو إفادتي لمن لديه المعلومة او الخبرة بهذه المشكلة

وجزاكم الله كل خير .

//

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ...

..هذا صحيح أخي VB Helper , لكن كما ذكرت أنه أعطى خطأ عند الترجمة و أني قمت بالتعديل على الكود يدويا (بتصرف) حتى جعلته يترجم و يعمل ...مثلا لم يضع قيمة لــ WM_COMMAND و لم يضع الــ extern و وضع body فارغ للإجراء و المطلوب هو فقط فاصلة منقوطة .. و غير ذلك من التعديلات ..

نعم جزاك الله كل خير اخي الكريم ع ما قدمت

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ..

  1. لا شكر على واجب...
  2. نحن قمنا بتحويلالكود من الـ vb.net إلى C#
  3. الكود للأسف لا يعمل بالشكل المطلوب ... حيث تبين أنه لو ضغطنا مرةثانية على الزر lock و كان الشريط مقفول .. فأنه يصبح unlocked ..
  4. الكود يكافئ النقر باليمين على الشريط و أخذ الخيار lock the task bar 1taskbar.png

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

خيرة الله ، يبدو ان الامر لن يفرق ، ع العموم هنجرب نعمل هايد للتاسك بار وان شاء الله يتنفذ

لأني بحثت كثير في مسألة القفل واتعبتني كثيرا حتى لقينا هالكود بأحد المواقع الاجنبية وصاحبه أشاد بالكود وقال انه تنفذ

لكن لنا الله من قبل ومن بعد.

شكرا مرة أخرى و جزاكم الله خيرا اخي الكريم حسام

//

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .