Avatar billede hmortensen Nybegynder
19. januar 2007 - 16:32 Der er 7 kommentarer og
1 løsning

Bruge COM interface

Hej

Jeg forsøger at bruge en custom download manager til IE, og er nået frem til at man skal bruge interfacet IDownload, men er i tvivl om hvordan jeg bruger det.

Jeg har defineret flg.:
[ComImport, GuidAttribute("988934A4-064B-11D3-BB80-00104B35E7F9"),
    InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown), ComVisible(false)]
public interface IDownloadManager
{
  void Download(
    IMoniker pmk,
    IBindCtx pbc,
    UInt32 dwBindVerb,
    Int32 grfBINDF,
    IntPtr pBindInfo,
    [MarshalAs(UnmanagedType.LPWStr)]String pszHeaders,
    [MarshalAs(UnmanagedType.LPWStr)]String pszRedir,
    UInt32 uiCP
  );
}

[Guid("9c05083e-11aa-43e3-bb17-bdbf10cb7160")]
public class Manager : IDownloadManager
{
  public void Download(IMoniker pmk, IBindCtx pbc, UInt32 dwBindVerb, Int32 grfBINDF, IntPtr pBindInfo, String pszHeaders, String pszRedir, UInt32 uiCP)
  {
    Process.Start("notepad");
  }
}

Endvidere har jeg lavet nøglen:
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer]
DownloadUI = 9c05083e-11aa-43e3-bb17-bdbf10cb7160


Nu er mit problem, hvordan får jeg kørt min assembly?
Avatar billede dr_chaos Nybegynder
20. januar 2007 - 20:31 #1
Avatar billede hmortensen Nybegynder
20. januar 2007 - 21:25 #2
Ja, det er vha. den side jeg er kommet her til.
Avatar billede dr_chaos Nybegynder
20. januar 2007 - 22:06 #3
hmm jeg skal ærgeligt indrømme at jeg aldrig har forsøgt det du gerne vil gøre.
Men jeg får en masse hits hvis jeg bare søger på IDownloadManager.
Som jeg læser dit spørgsmål så er problemet hvordan du skal få lagt din assembly ind i com+ ?.
Avatar billede hmortensen Nybegynder
20. januar 2007 - 22:08 #4
Ja, jeg er slået ikke noget til at lave noget funktionalitet endnu, derfor kaldet til Process.Start() for at se om der sker noget.
Avatar billede dr_chaos Nybegynder
20. januar 2007 - 22:11 #5
Avatar billede hmortensen Nybegynder
20. januar 2007 - 22:30 #6
Jeg har lavet en strong name file til, men jeg kan ikke finde den via et vbscript.

Jeg får godt nok en warning når jeg kører regsvcs.
"Warning: No ServicedComponent-derived classes were found in the assembly."
Avatar billede dr_chaos Nybegynder
20. januar 2007 - 22:52 #7
ok.
den warning har jeg også set andre få med en idownload manager.
Men com+ er ikke min stærkeste side.
Så jeg skal ikke kunne sige hvorfor den ikke er synlig i vbscript.
Avatar billede hmortensen Nybegynder
26. april 2007 - 11:02 #8
Lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester