C#中如何调用API 使其达到 调用系统记事本中 查找和替换 对话框的效果

解决方案 »

  1.   

    这个,基本上很难。
    api大全上查查吧.
      

  2.   

    MFC是微软封装了的API。
    这个容易学吗? 
      

  3.   

    public delegate System.UInt32 FRHookProc(  System.IntPtr hdlg,
            System.UInt32 uiMsg,
            System.UInt32 wParam,
            System.UInt32 lParam
            );    [StructLayout(LayoutKind.Sequential)]
        public struct FINDREPLACE
        {
            public System.UInt32 lStructSize;
            public System.IntPtr hwndOwner;
            public System.IntPtr hInstance;
            public System.UInt32 Flags;
            public string lpstrFindWhat;
            public string lpstrReplaceWith;
            public System.UInt16 wFindWhatLen;
            public System.UInt16 wReplaceWithLen;
            public System.UInt32 lCustData;
            public FRHookProc lpfnHook;
            public String lpTemplateName;    }
        class Win32Wrapper
        {
            [DllImport("comdlg32.dll",CharSet=CharSet.Ansi)]
            public extern static IntPtr FindText( ref FINDREPLACE fdr);    }
      

  4.   

       FINDREPLACE fr = new FINDREPLACE();
                fr.lStructSize = (UInt32)Marshal.SizeOf(fr);
                fr.hwndOwner = this.Handle;
                fr.Flags = 0;
                fr.lpstrFindWhat = "what is";
                fr.wFindWhatLen = 80;
                Win32Wrapper.FindText( ref fr);
      

  5.   


    谢谢您!
    下面最后一句 Win32Wrapper.FindText( ref fr);
    编译不过去 能不能把您写的程序都加个注释 我是新人 看不明白 谢谢了!
      

  6.   

        class Win32Wrapper 
        { 
            [DllImport("comdlg32.dll",CharSet=CharSet.Ansi)] 
            public extern static IntPtr FindText( ref FINDREPLACE fdr);     }在DllImport中加入EntryPoint定义:
            [DllImport("comdlg32.dll",CharSet=CharSet.Ansi,EntryPoint="FindTextA")]