kp irgendwie gig das bei mir nicht!kannste aber mit ESC beenden!^^
Edit: ich weiß wodran es lag!OPT vergessen!editiere es gleich!
kp irgendwie gig das bei mir nicht!kannste aber mit ESC beenden!^^
Edit: ich weiß wodran es lag!OPT vergessen!editiere es gleich!
ich habe XP-Fans Script gesehen und dachte nur:" cool!sowas kann ich doch bestimmt auch hinkriegen!muss mir nur genau angucken wie das dort läuft!" (ok die "_Tower" funktion ist fast komplett übernommen
)
gesagt getan.
es ist aber wirklich nichts im gegensatz zu XP-Fans script! einfach nur ne kleine übung....
hier script, ihr benötigt aber den anhang wg. bass.dll/bass.au3 etc.! :
#include <Bass.au3>
#include <BassConstants.au3>
#include <BassTags.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIplus.au3>
#include <WinAPI.au3>
#include <Misc.au3>
$fftstruct = DllStructCreate('float[128]')
OnAutoItExitRegister("OnAutoItExit")
_BASS_STARTUP(@ScriptDir & '\BASS.dll')
_Bass_Tags_Startup('BassTags.dll')
_BASS_Init(0, -1, 44100, 0, '')
If @error Then
MsgBox(0, 'Error', 'Sound konnte nicht Initialisiert werden!')
Exit
EndIf
$file = FileOpenDialog('Bitte wählen Sie eine Sounddatei aus!', '', 'MP3 Datei (*.mp3)')
If @error Then
Exit
EndIf
$Form1 = GUICreate("Form1", 1280, 700)
$Label1 = GUICtrlCreateLabel("", 0, 0, 461, 28)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
GUISetBkColor(0x000000)
GUISetState()
;~ GuiSetOnEvent(-3,"OnAutoItExit",$Form1)
HotKeySet("{ESC}","OnAutoItExit")
_GDIPlus_Startup()
$distance = 7
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($Form1)
$hBitmap = _GDIPlus_BitmapCreateFromGraphics(1280, 700, $hGraphic)
$Buffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
$Pen1 = _GDIPlus_PenCreate(0xFF00FF00)
$hBrush1 = _GDIPlus_BrushCreateSolid(0xFFFFF2FF)
$hBrush2 = _GDIPlus_BrushCreateSolid(0xFFFFF2FF)
Global $hFormat = _GDIPlus_StringFormatCreate()
Global $hFamily = _GDIPlus_FontFamilyCreate('Arial')
Global $hFont = _GDIPlus_FontCreate($hFamily, 20, 1, 2)
Global $tLayout1 = _GDIPlus_RectFCreate(100, 70, 500, 35)
Global $tLayout2 = _GDIPlus_RectFCreate(100, 105, 500, 35)
$MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
$song_length = _BASS_ChannelGetLength($MusicHandle, $BASS_POS_BYTE)
$ID3Title = _Bass_Tags_Read($MusicHandle, '%IFV1(%TRCK,%TRCK. )%IFV2(%ARTI,%ICAP(%ARTI), Nichts) - %IFV2(%TITL,%ICAP(%TITL) , Nichts )')
$MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
$ID3Album = _Bass_Tags_Read($MusicHandle, '%IFV1(%ALBM,%IUPC(%ALBM))')
GUICtrlSetData($Label1,$ID3Title&" - "&$ID3Album)
_BASS_ChannelPlay($MusicHandle, 0)
$mal = 8
If @error Then
Exit
EndIf
While Sleep(1)
_Tower()
WEnd
Func OnAutoItExit()
_BASS_Stop()
_BASS_Free()
_GDIPlus_Shutdown()
AdlibUnRegister()
Exit
EndFunc ;==>OnAutoItExit
Func _Tower()
_GDIPlus_GraphicsClear($Buffer, 0xFF000000)
$level = 300
_GDIPlus_PenSetWidth($Pen1, 19)
_BASS_ChannelGetData($MusicHandle, DllStructGetPtr($fftstruct), $BASS_DATA_FFT256)
For $i = 1 To 63 Step 1
If $i > 5 Then $level = 500
_GDIPlus_GraphicsDrawLine($Buffer, 20 * $i, 400*$mal, 20 * $i, 400 - DllStructGetData($fftstruct, 1, $i) * $level*$mal, $Pen1)
_GDIPlus_GraphicsSetSmoothingMode($Buffer, 2)
Next
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0,0,1280,1200)
_GDIPlus_GraphicsSetSmoothingMode($hGraphic, 2)
EndFunc ;==>_Tower
Edit:\\ habe nun eine neue version die nen bissel anders aussieht!
alles gute nachträglich!
ich denke baujahr ist nicht gemeint ![]()
es wird ein curveball-bot würde ich sagen!
bei microsoft könnten infos stehen,
sonst musst du disassemblen (kp was das ist, habe ich im netzt gefunden!^^)
Edit:
ich habe keine einzige funktion in der dll selbst gefunden!
microsoft ist einfach zu fies!
seins hat aber nur 16 zeilen insgesamt, und ist sogar so aufgebaut das ich das verstehe!!das was du uns zegst hat 25 (vllt-3 wg autor)
jo läuft bei mir ( XP SP3 32bit)
eine frage aber noch: macht der eig. die beleuchtung auch aus?
wie möchtest du denn ein event (tastenanschlag) herausbekommen?gibt es da ne *.dll datei?
Ich möchte dich auf die Forenregeln hinweisen?
trotzdem brauchst du irgendwas was dir zurückgibt was gerade gedrückt wurde. dann musst du nur
Send("{2}")
[/autoit]schreiben wenn dasundas passiert.
um ein event auszulesen musst du warscheinlich in einer endlosschleife einen DllCall benutzen?
cool!schwarze gui!
also so:
$Programname = 0
[/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1)
$Form1 = GUICreate($Programname & " Installer", 310, 217, 346, 263)
$Start = GUICtrlCreateButton("starten", 160, 152, 129, 49, 0)
GUICtrlSetOnEvent(-1, "_Start")
GUISetState(@SW_SHOW)
While 1
Sleep(10)
WEnd
Func _Start()
ToolTip("start")
EndFunc
FileInstall
[/autoit]daran hab ich ja garnicht gedacht monkey!^^
oder (schlechtere variante)
[autoit]If ProcessExists(@ScriptName) Then Exit
;nicht getestet!
sieht gut aus, aber:
4mal hintereinander nen neuen beitrag?! WTF?! findeste den bearbeiten button nicht?
er kopiert es schon bei GO (F5)
aber richtig in die .exe einbinden tut er erst wenn du es kompilierst!
ich hoffe es wird kein bot!forenregeln wirste ja hoffentlich gelesen haben jetzt, oder??
[autoit]$var += 10
;oder
$var = $var + 10
ist gut!
aber wofür ist dieses krikelkrakel rechts?
danke!
ich lasse den thread mal offen!vllt kommen ja noch mehr lösungen rein (es gibt auch so eine komische EditLabel funktion, die finde ich aber doof)
Edit\\ bugfix deine funktion unterstützt irgendwie nur 1 listview!ich brauche aber 2 (oben vergessen zu sagen)(oder GUIRegisterMsg akzeptiert da nur eins^^)