Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2012, 13:27   #1
Masterbet2
Новичок
Джуниор
 
Регистрация: 10.11.2011
Сообщений: 2
По умолчанию Проигрывание музыки по нажатию на клавишу

Здравствуйте! Я с помощью библиотеки ddl проигрываю мелодию, но мне нужно что бы она начинала играть не просто как я захожу в программу, а по нажатию на клавишу на клавиатуре, я не могу нигде найти как обработать клавишу в консольном приложении..помогите пожалуйста!!

код проигрывания мелодии вот..
Код:
#include <iostream>
#include <stdio.h>
#include <windows.h>

void main(){

	HMODULE ddl = LoadLibrary("winmm.dll");
	if (ddl != NULL){
		typedef int(_stdcall *PlaySound_proc)(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound);
		PlaySound_proc funct = (PlaySound_proc)GetProcAddress( ddl, "PlaySound");
		funct("c:\Red Hot Chili Peppers - Can't Stop", NULL, SND_FILENAME);
		FreeLibrary(ddl);
	}

}
Masterbet2 вне форума Ответить с цитированием
Старый 07.10.2012, 14:04   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

А зачем нужно LoadLibrary() если можно вызвать PlaySound() напрямую?
waleri вне форума Ответить с цитированием
Старый 07.10.2012, 14:09   #3
Masterbet2
Новичок
Джуниор
 
Регистрация: 10.11.2011
Сообщений: 2
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
А зачем нужно LoadLibrary() если можно вызвать PlaySound() напрямую?
Ну я так делаю потому что у меня тема лабы dll библиотеки, хотя можно и так...но меня интересует как же обработать кнопку...
Masterbet2 вне форума Ответить с цитированием
Старый 07.10.2012, 17:00   #4
kovalev
 
Аватар для kovalev
 
Регистрация: 06.10.2012
Сообщений: 5
Сообщение

В консольном приложении я бы так сделал:

Код:
program Console;
{$APPTYPE CONSOLE}

uses
  Windows;

var
  Card: Cardinal;
  Buf: INPUT_RECORD;
  Handle: THANDLE;
begin
  handle := GetStdHandle(STD_INPUT_HANDLE);
  while True do
  begin
    ReadConsoleInput(Handle, Buf, 1, Card);
    if Buf.Event.KeyEvent.bKeyDown = True  then
      if Buf.Event.KeyEvent.wVirtualKeyCode = VK_F2 then
        WriteLn('F2 key pressed');
  end;
end.
kovalev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проигрывание функции один раз ///Ronnie JavaScript, Ajax 1 18.02.2011 22:26
Поочередное проигрывание swf клипов Killer_djon JavaScript, Ajax 1 27.05.2009 09:20
Проигрывание .XM файлов Вадим Буренков Мультимедиа в Delphi 3 01.04.2009 21:27
Проигрывание звука EdNovice Общие вопросы .NET 4 22.03.2009 20:30
Проигрывание нескольких файлов <-=SG=-> Общие вопросы Delphi 3 11.10.2008 15:47