amirmohamad Ответов: 3

что подразумевается под [DllImport("user32.dll") ?


всем привет

Я искал везде, но не нашел использования [DllImport("user32.dll")] и я не знаю , как использовать, где использовать ?

я видел много кодов, имеющих этот атрибут . Я новичок в программировании на c# , поэтому, пожалуйста, помогите

3 Ответов

Рейтинг:
5

Mohammad A Rahman

Этот[^] может также дать вам дополнительную информацию.


Рейтинг:
26

OriginalGriff

Это означает, что метод, объявленный ниже, находится не в .NET - он находится во внешнем (собственном) DLL-файле.
В данном случае речь идет о User32.dll файл, который является стандартным компонентом Windows.

Например:

[DllImport("User32")]
private static extern int SetForegroundWindow(IntPtr hwnd);

Метод SetForegroundWindow является стандартной функцией Windows, и приведенное выше объявление позволяет нам использовать его так, как если бы это был метод .NET:
public static void SingleInstance(this Process thisProcess)
    {
    foreach (Process proc in Process.GetProcessesByName(thisProcess.ProcessName))
        {
        if (proc.Id != thisProcess.Id)
            {
            ShowWindow(proc.MainWindowHandle, SW_RESTORE);
            SetForegroundWindow(proc.MainWindowHandle);
            thisProcess.Kill();
            }
        }
    }


amirmohamad

спасибо за хорошую помощь
+5

OriginalGriff

Всегда пожалуйста!

Рейтинг:
14

Dave Kreskowiak

Вы не искали везде, иначе вы бы нашли этот[^].