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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Запись четырехсимвольных констант в int http://www.cyberforum.ru/cpp-beginners/thread659078.html
Вопрос состоит в следующем. Почему восьмеричные и шестнадцатиричные символьные коды четырехсимвольной константы записываются в int в обратной последовательности, а аналогичная константа с использованием непосредственно символов таблицы ASCII, уже в прямой последовательности? Тоесть: int i = '\141\142\143\144'; или int i = '\x61\x62\x63\x64'; что должно быть равносильно int i = 'abcd'; в...
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 <iostream> int main() { std::string i; i="Hello"; std::cout<<"Default string: "<<i<<endl; for (int x=0; x<i.size(); x+=1) {if (i=='H')
C++ Снова задача про ход коня Здравствуйте. Задача: рекурсивно обойти шахматную доску конем (программа просто выводит один вариант решения, без дополнительных наворотов, первый ход делается случайным образом, после каждого хода экран перерисовывается). Подскажите, пожалуйста, как нужно исправить код, чтобы функция находила решение. Сейчас поиск происходит бесконечно. Знаю, что задача поднималась уже много раз и в сети полно... подробнее

Показать сообщение отдельно
-Xeon-
2 / 2 / 0
Регистрация: 15.02.2010
Сообщений: 26
28.09.2012, 08:19     Как проиграть flash ролик в своём приложении?
Всем доброго времени суток! Люди как проиграть 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 компонент...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru