Salut tout le monde voulant utiliser IDM(internet download manager) dans un projet je me suis documenté et j'ai vu qu'on pouvais utiliser en tant qu'objet COM.
Cependant je n'es pas très bien compris comment m'en servir.
Sur le site on peux trouver comme code VB
Code : Tout sélectionner
Private Sub Command1_Click()
Dim idm1 As CIDMLinkTransmitter
Dim referer As String
Dim cookie As String
Dim postData As String
Dim user As String
Dim password As String
Set idm1 = CreateObject("IDMan.CIDMLinkTransmitter")
idm1.SendLinkToIDM "http://www.internetdownloadmanager.com/idman401.exe",
referrer, cookie, postData, user, password, "C:\", "idman401.exe", 0
End Sub
Donc en autoit j'avais fait
Mais il n'est pas reconnu en tant qu'objet...
J'ai donc fais une interface...
Code : Tout sélectionner
$CLSID = "{AC746233-E9D3-49CD-862F-068F7B7CCCA4}"
$IID = "{4BD46AAE-C51F-4BF7-8BC0-2E86E33D1873}"
$Description = "hresult SendLinkToIDM(BSTR bstrUrl, BSTR bstrReferer, BSTR bstrCookies, BSTR bstrData, BSTR bstrUser, BSTR bstrPassword, BSTR bstrLocalPath, BSTR bstrLocalFileName, long lFlags);"
$oIDM = ObjCreateInterface ($CLSID, $IID, $Description)
$url = "http://www.internetdownloadmanager.com/idman401.exe"
$referrer =String("")
$cookie=String("")
$postData=String("")
$user=String("")
$password=String("")
$oIDM.HRESULT($url,$referrer, $cookie, $postData, $user, $password, "C:\", "idman401.exe", 0)
La autoit me The requested action with this object has failed en poitant sur ma ligne $oIDM.HRESULT
Voici les infos que j'ai.
► Afficher le texte
Code : Tout sélectionner
// Generated .IDL file (by the OLE/COM Object Viewer)
//
// typelib filename: IDManTypeInfo.tlb
[
uuid(ECF21EAB-3AA8-4355-82BE-F777990001DD),
version(1.0),
helpstring("IDMan 1.0 Type Library")
]
library IDManLib
{
// TLib : // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
importlib("stdole2.tlb");
// Forward declare all types defined in this typelib
interface ICIDMLinkTransmitter2;
interface ICIDMLinkTransmitter;
[
uuid(AC746233-E9D3-49CD-862F-068F7B7CCCA4),
helpstring("CIDMLinkTransmitter Class")
]
coclass CIDMLinkTransmitter {
[default] interface ICIDMLinkTransmitter2;
interface ICIDMLinkTransmitter;
};
[
odl,
uuid(94D09862-1875-4FC9-B434-91CF25C840A1),
helpstring("ICIDMLinkTransmitter2 Interface"),
oleautomation
]
interface ICIDMLinkTransmitter2 : ICIDMLinkTransmitter {
HRESULT _stdcall SendLinkToIDM2(
[in] BSTR bstrUrl,
[in] BSTR bstrReferer,
[in] BSTR bstrCookies,
[in] BSTR bstrData,
[in] BSTR bstrUser,
[in] BSTR bstrPassword,
[in] BSTR bstrLocalPath,
[in] BSTR bstrLocalFileName,
[in] long lFlags,
[in] VARIANT reserved1,
[in] VARIANT reserved2);
HRESULT _stdcall SendLinksArray(
[in] BSTR location,
[in] VARIANT* pLinksArray);
};
[
odl,
uuid(4BD46AAE-C51F-4BF7-8BC0-2E86E33D1873),
helpstring("ICIDMLinkTransmitter Interface"),
oleautomation
]
interface ICIDMLinkTransmitter : IUnknown {
HRESULT _stdcall SendLinkToIDM(
[in] BSTR bstrUrl,
[in] BSTR bstrReferer,
[in] BSTR bstrCookies,
[in] BSTR bstrData,
[in] BSTR bstrUser,
[in] BSTR bstrPassword,
[in] BSTR bstrLocalPath,
[in] BSTR bstrLocalFileName,
[in] long lFlags);
};
};
Bref je ne comprend pas trop peux être à cause de Dim idm1 As CIDMLinkTransmitter?