Summary: This function determines whether the specified process is being debugged. !!!!C# Signature: [DllImport("Kernel32.dll", SetLastError = true, ExactSpelling = true)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool CheckRemoteDebuggerPresent(SafeHandle hProcess, [MarshalAs(UnmanagedType.Bool)]ref bool isDebuggerPresent); !!!!VB Signature: Declare Function CheckRemoteDebuggerPresent Lib "kernel32.dll" (ByVal hProcess As Long, ByVal fResult As Boolean) As Boolean !!!!Return Value: If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. !!!!Notes: Checks for RemoteDebugger on the 'hProcess'. The "remote" in CheckRemoteDebuggerPresent does not imply that the debugger necessarily resides on a different computer; instead, it indicates that the debugger resides in a separate and parallel process. Use the IsDebuggerPresent function to detect whether the calling process is running under the debugger. You may need to have the SE_DEBUG_NAME privilege on the specified process or you will receive ERROR_ACCESS_DENIED (0x5) !!!!See Also: *IsDebuggerPresent *DebugActiveProcess *ContinueDebugEvent *DebugBreak *WaitForDebugEvent !!!!Sample Code: 'For VB.NET Public Class Form1 Declare Function CheckRemoteDebuggerPresent Lib "kernel32.dll" _ (ByVal hProcess As Long, ByVal fResult As Boolean) As Boolean Dim bool As Boolean Dim proc As Process = Process.GetCurrentProcess() Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Debug.Print(CStr(CheckRemoteDebuggerPresent(proc.Handle, bool))) End Sub End Class Documentation: CheckRemoteDebuggerPresent@msdn on MSDN
Edit kernel32.CheckRem...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.