HOWTO: Determining Whether a User Is Subscribed to a ChannelID: Q175504
|
With the introduction of Active Channels in Internet Explorer 4.0, it may be desirable to determine whether a user is already subscribed to a channel, so that a Web page or an application does not redundantly offer users the ability to subscribe to a channel they've already subscribed to.
This article describes how to check a subscription from C++, Visual Basic, and script.
#include <windows.h>
#include <tchar.h>
#include <iostream.h>
#include <subsmgr.h>
#include <stdio.h>
void main()
{
ISubscriptionMgr *pSubscriptionMgr;
CoInitialize(NULL);
HRESULT hr = CoCreateInstance(CLSID_SubscriptionMgr,
NULL,
CLSCTX_INPROC_SERVER,
IID_ISubscriptionMgr,
(void**)&pSubscriptionMgr);
if (SUCCEEDED(hr))
{
BOOL Bool;
BSTR bstrURL =
SysAllocString(L"http://test.microsoft.com/tst.cdf");
hr = pSubscriptionMgr->IsSubscribed(bstrURL, &Bool);
pSubscriptionMgr->Release();
char szBuffer[250];
TCHAR szURL[200];
WideCharToMultiByte(CP_ACP, 0, bstrURL, -1, szURL, 200, NULL,
NULL);
if (Bool)
wsprintf (szBuffer,"YES, you are subscribed to %s\n",szURL);
else
wsprintf (szBuffer,"NOPE, you are NOT subscribed to %s\n",
szURL);
cout << szBuffer;
SysFreeString (bstrURL);
}
CoUninitialize();
}
Private Sub Form_Load()
Dim ShlHlpr As ShellUIHelper
Set ShlHlpr = New ShellUIHelper
If ShlHlpr.IsSubscribed("http://test.microsoft.com/tst.cdf") Then
MsgBox "You're Subscribed!"
Else
MsgBox "You're not Subscribed!"
End If
End Sub
<SCRIPT>
if (window.external.isSubscribed("http://test.microsoft.com/tst.cdf"))
alert ("You are subscribed!");
else
alert ("You are NOT subscribed!");
</SCRIPT>
Internet Client SDK documentation
Additional query words:
Keywords : kbcode kbChannels kbIE400 kbIE401 kbIE500 iegeneral
Version : WINDOWS:4.0,4.01
Platform : WINDOWS
Issue type : kbhowto
Last Reviewed: April 29, 1999