Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
em_larionov
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 46
#1

IWebBrowser2 не получается запустить - C++

26.09.2012, 16:36. Просмотров 1181. Ответов 2
Метки нет (Все метки)

Здравствуйте, в с++ не очень силен но нужно запустить IWebBrowser2

взял код из доки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
if (SUCCEEDED(OleInitialize(NULL)))
    {
       IWebBrowser2*    pBrowser2;
 
       CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, 
                       IID_IWebBrowser2, (void**)&pBrowser2);
   if (pBrowser2)
   {
       VARIANT vEmpty;
       VariantInit(&vEmpty);
 
       BSTR bstrURL = SysAllocString(L"http://microsoft.com");
 
       HRESULT hr = pBrowser2->Navigate(bstrURL, &vEmpty, &vEmpty, &vEmpty, &vEmpty);
       if (SUCCEEDED(hr))
       {
           pBrowser2->put_Visible(VARIANT_TRUE);
       }
       else
       {
           pBrowser2->Quit();
       }
 
       SysFreeString(bstrURL);
       pBrowser2->Release();
   }
 
   OleUninitialize();
}
и сразу полетели ошибки

вот полный код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
#include <windows.h>
#include <Exdisp.h>
#include "main.h"
 
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
 
 
/* Declare WindowsProcedure */
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
/* Make the classname into a global variable */
char szClassName[] = "Windows Example";
HINSTANCE hThisInstance;
 
 
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
 
{
    
    HWND hwnd;               /* This is the handle for our window */
    MSG messages;            /* Here messages to the application is saved */
    WNDCLASSEX wincl;        /* Datastructure for the windowclass */
    HMENU menu;              /* Handle of the menu */
 
    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                 /* Ctach double-clicks */
    wincl.cbSize = sizeof(WNDCLASSEX);
 
    /* Use default icon and mousepointer */
    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL; /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use lightgray as the background of the window */
    wincl.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH);
 
    /* Register the window class, if fail quit the program */
    if(!RegisterClassEx(&wincl)) return 0;
    
    /* The class is registered, lets create the program*/
    hwnd = CreateWindowEx(
           0,                   /* Extended possibilites for variation */
           szClassName,         /* Classname */
           "Windows Example",         /* Title Text */
           WS_OVERLAPPEDWINDOW, /* defaultwindow */
           CW_USEDEFAULT,       /* Windows decides the position */
           CW_USEDEFAULT,       /* where the window end up on the screen */
           744,                 /* The programs width */
           375,                 /* and height in pixels */
           HWND_DESKTOP,        /* The window is a childwindow to desktop */
           NULL,                /* No menu */
           hThisInstance,       /* Program Instance handler */
           NULL                 /* No Window Creation data */
           );
 
    /* Make the window visible on the screen */
    ShowWindow(hwnd, nFunsterStil);
    
 
    //MessageBox(NULL, "ÏðîñòåéøГ*Гї ïðîãðГ*ììГ*!","WinAPI App", 0);
    //AllocConsole();
    //HANDLE han = GetStdHandle(STD_OUTPUT_HANDLE);
    //WriteConsole(han,"hello",6,new DWORD,0);
    
    menu = LoadMenu(hThisInstance, MAKEINTRESOURCE(ID_MENU));
    SetMenu(hwnd, menu);
    
    if (SUCCEEDED(OleInitialize(NULL)))
    {
       IWebBrowser2*    pBrowser2;
 
       CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, 
                       IID_IWebBrowser2, (void**)&pBrowser2);
   if (pBrowser2)
   {
       VARIANT vEmpty;
       VariantInit(&vEmpty);
 
       BSTR bstrURL = SysAllocString(L"http://microsoft.com");
 
       HRESULT hr = pBrowser2->Navigate(bstrURL, &vEmpty, &vEmpty, &vEmpty, &vEmpty);
       if (SUCCEEDED(hr))
       {
           pBrowser2->put_Visible(VARIANT_TRUE);
       }
       else
       {
           pBrowser2->Quit();
       }
 
       SysFreeString(bstrURL);
       pBrowser2->Release();
   }
 
   OleUninitialize();
}
 
 
    /* Run the nessageloop. It will run until GetMessage( ) returns 0 */
    while(GetMessage(&messages,NULL, 0, 0))
    {
           /* Send message to WindowProcedure */
          DispatchMessage(&messages);
    }
 
    /* The program returvalue is 0 - The value that PostQuitMessage( ) gave */
    return messages.wParam;
}
 
/* This function is called by the Windowsfunction DispatchMessage( ) */
 
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)                  /* handle the messages */
    {
       case WM_COMMAND:
           switch( wParam )
           {
             case IDM_FILENEW:
             case IDM_FILEOPEN:
             case IDM_FILESAVE:
             case IDM_FILESAVEAS:
             case IDM_FILEPRINT:
             case IDM_FILEPAGESETUP:
             case IDM_FILEPRINTSETUP:
 
             case IDM_EDITUNDO:
             case IDM_EDITCUT:
             case IDM_EDITCOPY:
             case IDM_EDITPASTE:
             case IDM_EDITDELETE:
                  MessageBox( hwnd, (LPSTR) "Function Not Yet Implemented.",
                              (LPSTR) szClassName,
                              MB_ICONINFORMATION | MB_OK );
                  return 0;
 
             case IDM_HELPCONTENTS:
                  WinHelp( hwnd, (LPSTR) "HELPFILE.HLP",
                           HELP_CONTENTS, 0L );
                  return 0;
 
             case IDM_HELPSEARCH:
                  WinHelp( hwnd, (LPSTR) "HELPFILE.HLP",
                           HELP_PARTIALKEY, 0L );
                  return 0;
 
             case IDM_HELPHELP:
                  WinHelp( hwnd, (LPSTR) "HELPFILE.HLP",
                           HELP_HELPONHELP, 0L );
                  return 0;
 
             case IDM_FILEEXIT:
                  SendMessage( hwnd, WM_CLOSE, 0, 0L );
                  return 0;
 
             case IDM_HELPABOUT:
                  MessageBox (NULL, "About..." , "Windows example version 0.01", 1);
                  return 0;
 
           }
           break;
 
      case WM_CLOSE:
           DestroyWindow( hwnd );
           return 0;
 
      case WM_DESTROY:
           PostQuitMessage (0);
           return 0;
 
      break;
      default:                   /* for messages that we don't deal with */
      return DefWindowProc(hwnd, message, wParam, lParam);
   }
  return 0;
}
подскажите как подлечит !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2012, 16:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос IWebBrowser2 не получается запустить (C++):

Не получается запустить поток - C++
Доброго времени суток. Делаю как написано в книжке но ничего не получается. Помогите пожалуйста. void __fastcall...

Не получается запустить длинный код Алгоритма Гомори, код правильный. - C++
Собственно как запустить код через С++Builder 6 #include&lt;ctype.h&gt; #include&lt;string.h&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; ...

Не получается запустить "hello, world" - C++
Вот начал изучать С++ по книге Страуструпа. Не получается запустить &quot;hello, world&quot;. Установил visual c++ 2010, создал пустой проект, писал...

Не получается запустить phpMyAdmin - Apache, htaccess
Здравствуйте! Прошу о помощи. Установил апач, mysql и php - работают. При попытке установить phpMyAdmin выдается просто список файлов...

Не получается запустить код - GPSS
Доброго времени суток, я плохо разбираюсь в gpss но мне необходимо сделать многоканальную СМО с ограниченной очередью, нашел в интернете...

Не получается запустить программу - C#
Всем привет! Возник очень странный вопрос. Это - работает private void button1_Click(object sender, EventArgs e) { ...

2
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
26.09.2012, 17:10 #2
Ошибки в студию!
0
em_larionov
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 46
26.09.2012, 17:18  [ТС] #3
Код
 C:\Dev-Cpp\Examples\WinMenu\main.cpp In function `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)': 
78 C:\Dev-Cpp\Examples\WinMenu\main.cpp `CLSID_InternetExplorer' undeclared (first use this function) 
   (Each undeclared identifier is reported only once for each function it appears in.) 
 C:\Dev-Cpp\Examples\WinMenu\Makefile.win [Build Error]  [main.o] Error 1
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2012, 17:18
Привет! Вот еще темы с ответами:

Не получается запустить процесс - C++ Qt
не выходит запустить процес QProcess myProcess; myProcess.start(&quot;notepad&quot;); qDebug()&lt;&lt; myProcess.readAll(); ...

Не получается запустить Apache - Apache, htaccess
При попытке старта httpd, ошибка: &quot;No such file or directory: Couldn't start ErrorLog process&quot; В конфиге все ок. Впервые с...

Не получается запустить postgresql9.3 - Debian Linux
Помогите запустить postgresql9.3! Пишу: systemctl start postgresql9.3 Ошибка: systemctl: command not found В Astra Linux...

Не получается запустить таймер - C#
никак не пойму почему не запускается таймер. создал форму, закинул на нее timer1, numericUpDown1 и кнопку. В свойствах таймера Enable...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru