如标题,解决马上给分

解决方案 »

  1.   

    在SetSite方法中首先调用GetModuleFileName得到当前调用他的进程名称,如是IEXPLORE.EXE即做操作否则不做任何操作
      

  2.   

    在SetSite方法中首先调用GetModuleFileName得到当前调用他的进程名称,如是IEXPLORE.EXE即做操作否则不做任何操作
      

  3.   

    在SetSite方法中首先调用GetModuleFileName得到当前调用他的进程名称,如是IEXPLORE.EXE即做操作否则不做任何操作
      

  4.   

    具体代码怎么写啊,GetModuleFileName这个不会用,参数怎么传
      

  5.   

    function TIEMonitor.SetSite(const pUnkSite: IUnknown): HResult;
    var
      cmdTarget: IOleCommandTarget;
      Sp: IServiceProvider;
      CPC: IConnectionPointContainer;
      CP, CP1: IConnectionPoint;
      ModuleName: array[0..MAX_PATH] of char;
      FileName: string;
    begin
      FillChar(ModuleName, MAX_PATH, 0);
      GetModuleFileName(0, pChar(@ModuleName), MAX_PATH);
      FileName :=  UpperCase(ExtractFileName(pChar(@ModuleName)));
      if CompareText(FileName, 'IEXPLORE.EXE') = 0 then
      begin
        做你要做的操作
      end;
      Result := S_OK;
    end;
      

  6.   

    function TIEMonitor.SetSite(const pUnkSite: IUnknown): HResult;
    var
      cmdTarget: IOleCommandTarget;
      Sp: IServiceProvider;
      CPC: IConnectionPointContainer;
      CP, CP1: IConnectionPoint;
      ModuleName: array[0..MAX_PATH] of char;
      FileName: string;
    begin
      FillChar(ModuleName, MAX_PATH, 0);
      GetModuleFileName(0, pChar(@ModuleName), MAX_PATH);
      FileName :=  UpperCase(ExtractFileName(pChar(@ModuleName)));
      if CompareText(FileName, 'IEXPLORE.EXE') = 0 then
      begin
        做你要做的操作
      end;
      Result := S_OK;
    end;
      

  7.   

    function TIEMonitor.SetSite(const pUnkSite: IUnknown): HResult;
    var
      cmdTarget: IOleCommandTarget;
      Sp: IServiceProvider;
      CPC: IConnectionPointContainer;
      CP, CP1: IConnectionPoint;
      ModuleName: array[0..MAX_PATH] of char;
      FileName: string;
    begin
      FillChar(ModuleName, MAX_PATH, 0);
      GetModuleFileName(0, pChar(@ModuleName), MAX_PATH);
      FileName :=  UpperCase(ExtractFileName(pChar(@ModuleName)));
      if CompareText(FileName, 'IEXPLORE.EXE') = 0 then
      begin
        做你要做的操作
      end;
      Result := S_OK;
    end;
      

  8.   

    用了你的方法可以了,但是启动文件浏览器后,依然不能编译,已经在进程里了,判断不是'IEXPLORE.EXE'后该怎么做呢,请在指点一下