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

Как проиграть flash ролик в своём приложении? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запись четырехсимвольных констант в int http://www.cyberforum.ru/cpp-beginners/thread659078.html
Вопрос состоит в следующем. Почему восьмеричные и шестнадцатиричные символьные коды четырехсимвольной константы записываются в int в обратной последовательности, а аналогичная константа с...
C++ Не работает getch() не работает задержка по getchar() #include <iostream> #include <cstdlib> #include <time.h> #include <cstdio> #include <unistd.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread659058.html
C++ возвращаемые значения функции шаблонного класса A и A<T>
первый листинг template <typename T> class A { public: T a; A& f()
C++ Хороший тон программирования
Можно ли считать хорошим тоном в программировании? Например вот такой вот код? #define FOR for(int a=0;a<10;a++) ........ FOR { cout<<a<<'\n'; }
C++ Изменение отдельных символов в массиве "std::string" http://www.cyberforum.ru/cpp-beginners/thread659026.html
Добрых времени суток, форумчане! Я тут решил переписать свой криптовальщик с GML на C++ и у меня возникла следующая проблема: мне нужно в массиве "std::string" изменить 1 символ, например: #include...
C++ Снова задача про ход коня Здравствуйте. Задача: рекурсивно обойти шахматную доску конем (программа просто выводит один вариант решения, без дополнительных наворотов, первый ход делается случайным образом, после каждого хода... подробнее

Показать сообщение отдельно
-Xeon-
2 / 2 / 0
Регистрация: 15.02.2010
Сообщений: 26

Как проиграть flash ролик в своём приложении? - C++

28.09.2012, 08:19. Просмотров 623. Ответов 0
Метки (Все метки)

Всем доброго времени суток! Люди как проиграть flash ролик в своём приложении?
Нашёл такой пример:
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
// 
// SWF In Window Example
// by Napalm
// 
 
#import "C:\windows\system32\macromed\flash\flash.ocx" rename_namespace("Flash")
#pragma comment(lib, "atl")
#include  <atlbase.h>
CComModule _Module;
#include <atlwin.h>
#include <windows.h>
#include <string.h>
 
HINSTANCE g_hInst;
 
 
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
{
    static Flash::IShockwaveFlash* m_pFlash;
    static HWND hWndActiveX;
    switch(uMessage)
    {
    case WM_CREATE:
        {
            WCHAR wcPath[MAX_PATH];
            RECT rc; GetClientRect(hWnd, &rc);
            hWndActiveX = CreateWindowEx(0, L"AtlAxWin", NULL, WS_CHILD | WS_VISIBLE,
                0, 0, rc.right, rc.bottom, hWnd, NULL, g_hInst, NULL);
            if(FAILED(CoCreateInstance(__uuidof(Flash::ShockwaveFlash), NULL, CLSCTX_ALL,
                __uuidof(Flash::IShockwaveFlash), (void**)&m_pFlash)))
                return -1;
            if(FAILED(AtlAxAttachControl(m_pFlash, hWndActiveX, NULL))){
                m_pFlash->Release();
                return -1;
            }
            GetCurrentDirectoryW(MAX_PATH, wcPath);
            wcscat(wcPath, L"\\shapes.swf");
            HRESULT hres = m_pFlash->LoadMovie(0, wcPath);
            m_pFlash->Menu = VARIANT_FALSE;
        }
        return 0;
 
    case WM_SIZE:
        MoveWindow(hWndActiveX, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);
        return 0;
 
    case WM_PAINT:
    case WM_ERASEBKGND:
        ValidateRect(hWnd, NULL);
        return 0;
 
    case WM_DESTROY:
        DestroyWindow(hWndActiveX);
        m_pFlash->Release();
        PostQuitMessage(0);
        return 0;
    }
 
    return DefWindowProc(hWnd, uMessage, wParam, lParam);
}
 
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrev, LPSTR lpCmdLine, int nCmdShow)
{
    CoInitialize(NULL);
    AtlAxWinInit();
    g_hInst = hInstance;
 
    WNDCLASSEX wcex = {
        sizeof(WNDCLASSEX), 0, WndProc, 0, 0, g_hInst, LoadIcon(NULL, IDI_APPLICATION),
        LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_WINDOW + 1), NULL, L"SWFWin", NULL,
    };
    if(!RegisterClassEx(&wcex))
        return MessageBox(HWND_DESKTOP, L"Could not register class!", L"Error", MB_ICONERROR | MB_OK);
 
    int nX = ((GetSystemMetrics(SM_CXSCREEN) - 400) / 2),
        nY = ((GetSystemMetrics(SM_CYSCREEN) - 340) / 2);
    HWND hWnd = CreateWindowEx(0, wcex.lpszClassName, L"SWF In Window Example - by Napalm",
        WS_OVERLAPPEDWINDOW, nX, nY, 400, 340, HWND_DESKTOP, NULL, g_hInst, NULL);
    if(!hWnd)
        return MessageBox(HWND_DESKTOP, L"Could not create window!", L"Error", MB_ICONERROR | MB_OK);
 
    ShowWindow(hWnd, nCmdShow);
 
    MSG Msg;
    while(GetMessage(&Msg, NULL, 0, 0)){
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }
 
    CoUninitialize();
    return (int)Msg.wParam;
}
Заменил строку
C++
1
#import "C:\windows\system32\macromed\flash\flash.ocx" rename_namespace("Flash")
на #import "C:\windows\system32\macromed\flash\Flash64_11_2_202_235.ocx" rename_namespace("Flash") компилятор начил выдавать ошибку мол немогу найти такой файл. После файлы Flash64_11_2_202_235.ocx и FlashUtil64_11_2_202_235_ActiveX.dll положил к сибе в проект и соответственно заменил ту строку с импортом на #import "Flash64_11_2_202_235.ocx" rename_namespace("Flash"). Всё стало компилироваться, но не хочет работать... загружается окно а ролик не проигрывается...

Добавлено через 17 часов 21 минуту
Почему то мне кажется, что я как то неправильно подключаю ActiveX компонент...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru