Вопрос Не работает Beep()

pidjan
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
526
Реакции[?]
148
Поинты[?]
1K
Как не пробывал, но он просто не работает. Пробывал в dll, пробывал в exe, но он так-же не воспроизводит ни малейшего звука.
Думаю с кодом ничего не связано, или может связано, но на всякий случай прикреплю код.
Код dll:
C++:
#include <Windows.h>
#include <iostream>
BOOL WINAPI Main(HMODULE hmodule)
{
    MessageBoxA(0, "Status", "Injected!", MB_OK);
    return true;
}

BOOL APIENTRY DllMain(HMODULE module, DWORD Attach, LPVOID lpReserved)
{
    switch (Attach)
    {
    case DLL_PROCESS_ATTACH:
        Beep(800, 300);
        Sleep(100);
        Beep(800, 400);
        DisableThreadLibraryCalls(module);
        CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Main, 0, 0, 0);
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}
Код exe:
C++:
#include <Windows.h>
#include <iostream>
int main() {
    Beep(800, 300);
    Sleep(100);
    Beep(800, 400);
    return 1;
}
В exe в консоль ничего не выводит, пустота. exit code: 1.
С звуками вроде никакой проблемы нет, Ось: Windows 11.
 
Пользователь
Статус
Оффлайн
Регистрация
12 Фев 2020
Сообщения
382
Реакции[?]
95
Поинты[?]
0
#include <Windows.h>
#include <iostream>
int main(){
Beep(800, 300);
Sleep(5000):
}
попробуй. если звука нет- пк иссуе
 
pidjan
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
526
Реакции[?]
148
Поинты[?]
1K
#include <Windows.h>
#include <iostream>
int main(){
Beep(800, 300);
Sleep(5000):
}
попробуй. если звука нет- пк иссуе
Нет звука, и не может быть что пк иссуе, Так как 2020 года. Мб может что-то в реестре потыкать?
 
Пользователь
Статус
Оффлайн
Регистрация
12 Фев 2020
Сообщения
382
Реакции[?]
95
Поинты[?]
0
#define VOID void
Начинающий
Статус
Оффлайн
Регистрация
13 Май 2017
Сообщения
120
Реакции[?]
24
Поинты[?]
13K
C++:
#include <windows.h>

int main()
{
    HMODULE module_handle = GetModuleHandleA("kernel32.dll");
    FARPROC beep_proc = GetProcAddress(module_handle, "Beep");
   
    reinterpret_cast<BOOL(__stdcall*)(DWORD, DWORD)>(beep_proc)(500, 500);
   
    return 0;
}
 
pidjan
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
526
Реакции[?]
148
Поинты[?]
1K
C++:
#include <windows.h>

int main()
{
    HMODULE module_handle = GetModuleHandleA("kernel32.dll");
    FARPROC beep_proc = GetProcAddress(module_handle, "Beep");
  
    reinterpret_cast<BOOL(__stdcall*)(DWORD, DWORD)>(beep_proc)(500, 500);
  
    return 0;
}
Тоже не работает, указывал (500, 5000) и просто задержка 5 секунд.
 
pidjan
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
526
Реакции[?]
148
Поинты[?]
1K
Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,374
Реакции[?]
2,279
Поинты[?]
184K
Мужик посмотри код который я написал в exe. Тут не в потоке даже дело
If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call
Пожалуйста, авторизуйтесь для просмотра ссылки.
.

Проверку на 0 сделай, посмотри что будет
Между прочим, у меня всё отлично работает.
Ты динамики может попробуешь включить?)

Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
pidjan
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
526
Реакции[?]
148
Поинты[?]
1K
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Посмотреть вложение 161566
Вывело 0, что значит фейл. Что делать?
0: Операция успешно завершена.
С звуками вроде никакой проблемы нет, Ось: Windows 11.
Вот тебе и ответ на данный вопрос.
kernel32.dll открой в иде и посмотри на функцию Beep
C++:
BOOL __stdcall Beep(DWORD dwFreq, DWORD dwDuration)
{
  int v2; // ecx@0
  int v3; // eax@1
  int v5; // [sp+0h] [bp-4h]@1

  v3 = GetConsoleDisplayMode_0(&v5, v2);
  if ( !(v3 != 0 ? v5 : 0) )
    sub_6B823210(0);
  return Beep_0(dwFreq, dwDuration);
}
 
pidjan
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
526
Реакции[?]
148
Поинты[?]
1K
0: Операция успешно завершена.

Вот тебе и ответ на данный вопрос.
kernel32.dll открой в иде и посмотри на функцию Beep
C++:
BOOL __stdcall Beep(DWORD dwFreq, DWORD dwDuration)
{
  int v2; // ecx@0
  int v3; // eax@1
  int v5; // [sp+0h] [bp-4h]@1

  v3 = GetConsoleDisplayMode_0(&v5, v2);
  if ( !(v3 != 0 ? v5 : 0) )
    sub_6B823210(0);
  return Beep_0(dwFreq, dwDuration);
}
1626632491003.png
 
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пользователь
Статус
Оффлайн
Регистрация
12 Фев 2020
Сообщения
382
Реакции[?]
95
Поинты[?]
0
Нет звука, и не может быть что пк иссуе, Так как 2020 года. Мб может что-то в реестре потыкать?
проблема в пк, а именно в самой ОС. у тебя даже в самом топорном вызове этой функции нет звука, такого быть не может.
 
EVOLUTION ?
Забаненный
Статус
Оффлайн
Регистрация
30 Июл 2019
Сообщения
1,162
Реакции[?]
269
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А попробуй
BOOL MessageBeep( UINT uType );
Уже стало интересно.
Может тогда это косяки Win11, она то в тестовом режиме и следовательно где-то, что-то не работает в ней.
Это 11 винда, здесь нечего гадать
 
Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,374
Реакции[?]
2,279
Поинты[?]
184K
Последнее редактирование:
#define VOID void
Начинающий
Статус
Оффлайн
Регистрация
13 Май 2017
Сообщения
120
Реакции[?]
24
Поинты[?]
13K
pidjan
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
526
Реакции[?]
148
Поинты[?]
1K
А попробуй
BOOL MessageBeep( UINT uType );
Уже стало интересно.
Может тогда это косяки Win11, она то в тестовом режиме и следовательно где-то, что-то не работает в ней.
Опробывал все звуки которые нашел на docs microsoft com(noad)
1626682749047.png
В итоге exitcode 50
 
Пользователь
Статус
Оффлайн
Регистрация
11 Июн 2020
Сообщения
177
Реакции[?]
82
Поинты[?]
0
Сверху Снизу