如何在C#中使用?
我发现了很多关于它的问题,但没有人解释我如何使用它。
我有这个:
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Windows.Forms; using Microsoft.FSharp.Linq.RuntimeHelpers; using System.Diagnostics; using System.Runtime.InteropServices; using System.IO; public class WindowHandling { public void ActivateTargetApplication(string processName, List barcodesList) { [DllImport("User32.dll")] public static extern int SetForegroundWindow(IntPtr point); Process p = Process.Start("notepad++.exe"); p.WaitForInputIdle(); IntPtr h = p.MainWindowHandle; SetForegroundWindow(h); SendKeys.SendWait("k"); IntPtr processFoundWindow = p.MainWindowHandle; } }
有人可以帮助我理解为什么它在DllImport
行和public static
行上给我一个错误?
有没有人有想法,我该怎么办? 谢谢。
您不能在方法内部声明extern
本地方法,也不能在属性中声明任何其他方法。 将DLL导入移动到类中:
using System.Runtime.InteropServices; public class WindowHandling { [DllImport("User32.dll")] public static extern int SetForegroundWindow(IntPtr point); public void ActivateTargetApplication(string processName, List barcodesList) { Process p = Process.Start("notepad++.exe"); p.WaitForInputIdle(); IntPtr h = p.MainWindowHandle; SetForegroundWindow(h); SendKeys.SendWait("k"); IntPtr processFoundWindow = p.MainWindowHandle; } }