[Blockierte Grafik: http://img10.abload.de/img/schnuffel7fmx.png]
Und immer dran denken - alt ist man erst wenn die Kerzen mehr kosten als die Geburtstagstorte. ![]()
[Blockierte Grafik: http://img10.abload.de/img/schnuffel7fmx.png]
Und immer dran denken - alt ist man erst wenn die Kerzen mehr kosten als die Geburtstagstorte. ![]()
Moin,
hab da mal 2 kleine Anmerkungen. Erstens würde ich mich beim Layout vom Tabledesign verabschieden und mich mit div's anfreunden. Zweitens, die Hauptmenüleiste - es wird flexibler wenn du links und rechts jeweils einen slice mit den Rundungen anlegst und nochmal einen 1px slice des Backgrounds der dann nach x repeatet wird. Es braucht dann für die einzelnen Menüeinträge keine Images mehr. Dadurch lassen sich im Nachhinein einfacher Einträge hinzufügen oder entfernen. Bei einzeln gesliceten Menüelementen hat man häufig das Problem das dann die Abstände zwischen den einzelnen Menüpunkten nichtmehr stimmen.
Countdown bis zu einem bestimmten Datum nehm ich an?
Ich bau dir was.
edit an die nachfolgenden Poster: Macht euch doch keine unnötigen Umstände Jungs :). PitBull hat schon wenige Minuten nach diesem Beitrag eine PN erhalten.
i2c: Nanu, seit wann geht das denn?
Das dürfte (lt. Hilfe) eigentlich nicht funktionieren:
Aber Dein Beispiel funktioniert.
Auf GUI's mit z.B. Buttons oder Inputfeldern funktioniert es auch nicht. Aber auf einer About Box hat man ja i.d.R. nur ein paar Labels und vlt. ein Bildchen.
Global Const $WM_KEYDOWN = 0x0101
$gui= GUICreate("",500,500)
GUIRegisterMsg($WM_KEYDOWN, "_KeyDown")
GUISetState()
While 1
$msg = GUIGetMsg()
sleep(100)
WEnd
Func _KeyDown($gui,$msg,$wParam,$lParam)
GuiDelete($gui)
Exit
EndFunc
Die vergleiche sind sehr ...
.
Der Sinn, warum man das tun sollte ist mir allerdings immernoch schleierhaft. Die Zahlen sollen ausgegeben werden, sortiert aber nicht in einer FOR Schleife und dann doch wieder in einer FOR Schleife abgearbeitet werden ?
Steht doch im Profil und wenn nicht, dann hat es sicher einen Grund ![]()
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.2.8.1
Author: WeaponX
Script Function:
Recursive file search (string based)
Notes:
-Fastest thus far
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]#include <array.au3>
$timestamp = TimerInit()
$Array = RecursiveFileSearch ("D:\temp")
MsgBox(0, "", (TimerDiff($timestamp) / 1000) & " seconds");0.0902s / 2090 files
_ArrayDisplay($Array)
Func RecursiveFileSearch ($startDir, $depth = 0)
[/autoit] [autoit][/autoit] [autoit]If $depth = 0 Then Global $RFSstring = ""
[/autoit] [autoit][/autoit] [autoit]$search = FileFindFirstFile($startDir & "\*.*")
If @error Then Return
;Search through all files and folders in directory
While 1
$next = FileFindNextFile($search)
If @error Then ExitLoop
;If folder, recurse
If StringInStr(FileGetAttrib($startDir & "\" & $next), "D") Then
RecursiveFileSearch ($startDir & "\" & $next, $depth + 1)
Else
;Append filename to master string
$RFSstring &= $startDir & "\" & $next & "*"
EndIf
WEnd
FileClose($search)
If $depth = 0 Then Return StringSplit(StringTrimRight($RFSstring, 1), "*")
EndFunc;==>RecursiveFileSearch
Such mal im Forum nache rekursiver Dateisuche.
#cs
Audio.au3
Designed by Gary Frost, RazerM, Xenobiologist, and a little help from Volly
Version info: 1.0.0.1
History:
1.0.0.1 - Ismute function added - thanks Xenobiologist
-------------------------------------------
Items to add:
1. Mute for master volume.
2. Mute for input Microphone
3. Mute for Wave
4. Balance on Master, Wave, Microphone
-------------------------------------------
The following code is a proposed replacement for sound.au3. Current functions work
as expected following testing on XP pc. No test have been performed on other operating systems.
-------------------------------------------
Functions:
_SoundOpen ( $hFile [, $sAlias ] ) - Opens a sound file for use with other _Sound functions.
_SoundClose($sSnd_id) - Closes a sound previously opened with _SoundOpen.
_SoundPlay ( $sSnd_id [, $fWait ] ) - Play a sound file.
_SoundStop ( $sSnd_id ) - Stop a playing sound.
_SoundPause($sSnd_id) - Pause a playing sound.
_SoundResume ( $sSnd_id ) - Resume a paused sound.
_SoundLength ( $sSnd_id [, $iMode ] ) - Returns the length of the soundfile.
_SoundSeek ( $sSnd_id, $iHour, $iMin, $iSec ) - Seeks the sound to the specified position
_SoundStatus ( $sSnd_id ) - Returns the status of the sound
_SoundPos ( $sSnd_id [, $iMode ] ) - Returns the current position of the sound.
_SoundSetMasterVolume($iVolume) - Sets the Master Volume. Does not control an application's volume
_SoundGetMasterVolume - Gets the Master Volume level
_SoundSetMicrophoneVolume - Sets the Microphone input volume
_SoundGetMicrophoneVolume - Gets the Microphone volume level
_SoundGetPhoneVolume - Gets the Phone volume on the modem
_SoundSetVolumeCD - Sets the Volume level on the CDRom
_SoundSetMasterWaveVolume - Sets the Master Wave Volume level
_Ismute - Checks for mute sound
#ce
#region
Const $MMSYSERR_NOERROR = 0
Const $WAVERR_BASE = 32
Const $WAVERR_BADFORMAT = ($WAVERR_BASE + 0)
Const $MAXPNAMELEN = 32
Const $MIXERLINE_COMPONENTTYPE_DST_FIRST = 0
Const $MIXER_GETLINEINFOF_COMPONENTTYPE = 3
Const $MIXERLINE_COMPONENTTYPE_DST_UNDEFINED = ($MIXERLINE_COMPONENTTYPE_DST_FIRST + 0)
Const $MIXERLINE_COMPONENTTYPE_DST_DIGITAL = ($MIXERLINE_COMPONENTTYPE_DST_FIRST + 1)
Const $MIXERLINE_COMPONENTTYPE_DST_LINE = ($MIXERLINE_COMPONENTTYPE_DST_FIRST + 2)
Const $MIXERLINE_COMPONENTTYPE_DST_MONITOR = ($MIXERLINE_COMPONENTTYPE_DST_FIRST + 3)
Const $MIXERLINE_COMPONENTTYPE_DST_SPEAKERS= ($MIXERLINE_COMPONENTTYPE_DST_FIRST + 4)
Const $MIXERLINE_COMPONENTTYPE_DST_HEADPHONES = ($MIXERLINE_COMPONENTTYPE_DST_FIRST + 5)
Const $MIXERLINE_COMPONENTTYPE_DST_TELEPHONE = ($MIXERLINE_COMPONENTTYPE_DST_FIRST + 6)
Const $MIXERLINE_COMPONENTTYPE_DST_WAVEIN = ($MIXERLINE_COMPONENTTYPE_DST_FIRST + 7)
Const $MIXERLINE_COMPONENTTYPE_DST_VOICEIN = ($MIXERLINE_COMPONENTTYPE_DST_FIRST + ![]()
Const $MIXERLINE_COMPONENTTYPE_DST_LAST = ($MIXERLINE_COMPONENTTYPE_DST_FIRST + ![]()
Const $MIXERLINE_COMPONENTTYPE_SRC_FIRST = 0x1000
Const $MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED = ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + 0)
Const $MIXERLINE_COMPONENTTYPE_SRC_DIGITAL = ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + 1)
Const $MIXERLINE_COMPONENTTYPE_SRC_LINE = ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + 2)
Const $MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE= ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + 3)
Const $MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER = ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + 4)
Const $MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC = ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + 5)
Const $MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE = ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + 6)
Const $MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER = ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + 7)
Const $MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT = ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + ![]()
Const $MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY = ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + 9)
Const $MIXERLINE_COMPONENTTYPE_SRC_ANALOG = ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10)
Const $MIXERLINE_COMPONENTTYPE_SRC_LAST = ($MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10)
Const $MIXER_GETLINEINFOF_SOURCE = 1
[/autoit] [autoit][/autoit] [autoit]Const $MIXER_GETLINEINFOF_DESTINATION = 0
Const $MIXER_GETLINEINFOF_LINEID = 2
Const $MIXERCONTROL_CT_SC_LIST_SINGLE = 0x00000000
Const $MIXERCONTROL_CT_CLASS_LIST = 0x70000000
Const $MIXERCONTROL_CT_SC_LIST_MULTIPLE = 0x01000000
Const $MIXERCONTROL_CT_UNITS_BOOLEAN = 0x00010000
Const $MIXERCONTROL_CT_CLASS_MASK = 0xF0000000
Const $MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT = BitOR($MIXERCONTROL_CT_CLASS_LIST, $MIXERCONTROL_CT_SC_LIST_MULTIPLE, $MIXERCONTROL_CT_UNITS_BOOLEAN)
Const $MIXERCONTROL_CONTROLTYPE_MIXER = ($MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1)
Const $MIXERCONTROL_CONTROLTYPE_SINGLESELECT = BitOR($MIXERCONTROL_CT_CLASS_LIST, $MIXERCONTROL_CT_SC_LIST_SINGLE, $MIXERCONTROL_CT_UNITS_BOOLEAN)
Const $MIXERCONTROL_CONTROLTYPE_MUX = ($MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1)
Const $MIXER_GETCONTROLDETAILSF_VALUE = 0
Const $MIXER_SETCONTROLDETAILSF_VALUE = 0
Const $MIXERCONTROL_CONTROLF_UNIFORM = 1
Const $MIXERCONTROL_CONTROLF_MULTIPLE = 2
Const $MIXERCONTROL_CT_SC_METER_POLLED = 0
Const $MIXERCONTROL_CT_CLASS_METER = 0x10000000
Const $MIXERCONTROL_CT_UNITS_SIGNED = 0x20000
Const $MIXERCONTROL_CT_UNITS_UNSIGNED = 0x30000
Const $MIXERCONTROL_CT_CLASS_FADER = 0x50000000
Const $MIXERCONTROL_CT_CLASS_NUMBER = 0x30000000
Const $MIXERCONTROL_CONTROLTYPE_FADER = BitOR($MIXERCONTROL_CT_CLASS_FADER, $MIXERCONTROL_CT_UNITS_UNSIGNED)
Const $MIXERCONTROL_CONTROLTYPE_VOLUME= ($MIXERCONTROL_CONTROLTYPE_FADER + 1)
Const $MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER = BitOR($MIXERCONTROL_CT_CLASS_METER, $MIXERCONTROL_CT_SC_METER_POLLED, $MIXERCONTROL_CT_UNITS_UNSIGNED)
Const $MIXERCONTROL_CONTROLTYPE_UNSIGNED = BitOR($MIXERCONTROL_CT_CLASS_NUMBER, $MIXERCONTROL_CT_UNITS_UNSIGNED)
Const $MIXERCONTROL_CONTROLTYPE_SIGNED = BitOR($MIXERCONTROL_CT_CLASS_NUMBER, $MIXERCONTROL_CT_UNITS_SIGNED)
Const $MIXER_OBJECTF_WAVEIN = 0x20000000
Const $MIXER_SHORT_NAME_CHARS = 16
Const $MIXER_LONG_NAME_CHARS = 64
Const $MIXER_GETLINECONTROLSF_ALL = 0
Const $MIXER_GETLINECONTROLSF_ONEBYID = 1
Const $MIXER_GETLINECONTROLSF_ONEBYTYPE = 2
Const $MIXER_OBJECTF_HANDLE = 0x80000000
Const $MIXER_OBJECTF_MIXER = 0
Const $MIXER_OBJECTF_HMIXER = BitOR($MIXER_OBJECTF_HANDLE, $MIXER_OBJECTF_MIXER)
Const $MIXER_GETCONTROLDETAILSF_LISTTEXT = 1
Const $CALLBACK_NULL = 0
Const $WAVE_MAPPED = 4
Const $wMid = 1
Const $wPid = 2
Const $vDriverVersion = 3
Const $szPname = 4
Const $dwFormats = 5
Const $wChannels = 6
Const $wReserved1 = 7
Const $AWICAPS_SIZEOF = $wReserved1 + 1
;mixer
Const $fdwSupport = 5
Const $cDestinations = 6
Const $AMXCAPS_SIZEOF = $cDestinations + 2 ;leave room for num cells
;line struct
Const $cbStruct = 1
Const $dwDestination = 2
Const $dwSource = 3
Const $dwLineID = 4
Const $fdwLine = 5
Const $dwUser = 6
Const $dwComponentType = 7
Const $cChannels = 8
Const $cConnections = 9
Const $cControls = 10
Const $szShortName = 11
Const $szName = 12
Const $dwType = 13
Const $dwDeviceID = 14
Const $wMMid = 15
Const $wMPid = 16
Const $vMDriverVersion = 17
Const $szMPname = 18
$AMXLINE_SIZEOF = $szMPname + 2
Const $cbCStruct = 1
Const $dwCLineID = 2
Const $dwControlID = 3
Const $dwControlType = 4
Const $cCControls = 5
Const $cbmxctrl = 6
Const $pamxctrl = 7
Const $MXXTRLS_SIZEOF = $pamxctrl + 2
Const $lst_destname = 1
Const $lst_dwComponentType = 2
Const $lst_ctrid = 3
Const $MIX_HMXOBJ = 1
Const $MIX_DEVNAME = 2
Const $MIX_CAPCDEST = 3
Const $MIX_RECNAME = 4
Const $MIX_CCONNECTIONS = 5
Const $MIX_INCCONTROLS = 6
Const $MIX_DWLINEID = 7
Const $MIX_INCHANNELS = 8
Const $MIX_INMULTIITEMS = 9
Const $MIX_INCTRLID = 10
Const $MIX_OUTCHANNELS = 11
Const $MIX_OUTMULTIEMS = 12
Const $MIX_OUTCTRLID = 13
Const $MIX_LAST = $MIX_OUTCTRLID + 1
Const $AMIX_SIZEOF = $MIX_LAST + 1
Dim $mxline[$AMXLINE_SIZEOF]
Dim $mixers[1][$AMIX_SIZEOF]
Dim $mxInList[2][4]
$mixernames = ""
$FormSelectInput = 0
$TV_SelectInput = 0
$CMB_DevName = 0
$CKB_EnableLinefocus = 0
$defaultmixer = 0
$lastlinesrc = -1
$curmixer = $defaultmixer
;===============================================================================
#endregion
;===============================================================================
;
; Function Name: _SoundOpen
; Description:: Opens a sound file for use with other _Sound functions
; Parameter(s): $hFile - The sound file, $sAlias[optianal] - a name such as sound1,
; if you do not specify one it is randomly generated
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): string(the sound id) - Success, 0 - Failure
; @extended <> 0 - open failed, @error = 2 - File doesn't exist,
; @error = 3 - alias contains whitespace
; Author(s): RazerM
;
;===============================================================================
;
Func _SoundOpen($hFile, $sAlias = "")
;Declare variables
Local $sSnd_id, $iCurrentPos, $iRet, $asAlias
;check for file
If Not FileExists($hFile) Then Return SetError(2, 0, 0)
;search for whitespace by character
$asAlias = StringSplit($sAlias, "")
For $iCurrentPos = 1 To $asAlias[0]
If StringIsSpace($asAlias[$iCurrentPos]) Then Return SetError(3, 0, 0)
Next
;create random alias if one is not supplied
If $sAlias = "" Then
$sSnd_id = RandomStr(10)
Else
$sSnd_id = $sAlias
EndIf
;open file
$iRet = mciSendString("open " & FileGetShortName($hFile) & " alias " & FileGetShortName($sSnd_id))
Return SetError(0, $iRet, $sSnd_id)
EndFunc ;==>_SoundOpen
;===============================================================================
;
; Function Name: _SoundClose
; Description:: Closes a sound
; Parameter(s): $sSnd_id - Sound ID returned by _SoundOpen
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 - Success, 0 and @error = 1 - Failure
; Author(s): RazerM
;
;===============================================================================
;
Func _SoundClose($sSnd_id)
If mciSendString("close " & FileGetShortName($sSnd_id)) = 0 Then
Return 1
Else
Return SetError(1, 0, 0)
EndIf
EndFunc ;==>_SoundClose
;===============================================================================
;
; Function Name: _SoundPlay
; Description:: Plays a sound from the current position (beginning is the default)
; Parameter(s): $sSnd_id - Sound ID returned by _SoundOpen or sound file
; $fWait - If set to 1 the script will wait for the sound to finish before continuing
; - If set to 0 the script will continue while the sound is playing
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 - Success, 0 - Failure
; @error = 2 - $fWait is invalid, @error = 1 - play failed
; Author(s): RazerM
;
;===============================================================================
;
Func _SoundPlay($sSnd_id, $fWait = 0)
;Declare variables
Local $iRet
;validate $fWait
If $fWait <> 0 And $fWait <> 1 Then Return SetError(2, 0, 0)
;if sound has finished, seek to start
If _SoundPos($sSnd_id, 2) = _SoundLength($sSnd_id, 2) Then mciSendString("seek " & FileGetShortName($sSnd_id) & " to start")
;If $fWait = 1 then pass wait to mci
If $fWait = 1 Then
$iRet = mciSendString("play " & FileGetShortName($sSnd_id) & " wait")
Else
$iRet = mciSendString("play " & FileGetShortName($sSnd_id))
EndIf
;return
If $iRet = 0 Then
Return 1
Else
Return SetError(1, 0, 0)
EndIf
EndFunc ;==>_SoundPlay
;===============================================================================
;
; Function Name: _SoundStop
; Description:: Stops the sound
; Parameter(s): $sSnd_id - Sound ID returned by _SoundOpen or sound file
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 - Success, 0 and @error = 1 - Failure,
; Author(s): RazerM
;
;===============================================================================
;
Func _SoundStop($sSnd_id)
;Declare variables
Local $iRet, $iRet2
;seek to start
$iRet = mciSendString("seek " & FileGetShortName($sSnd_id) & " to start")
;stop
$iRet2 = mciSendString("stop " & FileGetShortName($sSnd_id))
;return
If $iRet = 0 And $iRet2 = 0 Then
Return 1
Else
Return SetError(1, 0, 0)
EndIf
EndFunc ;==>_SoundStop
;===============================================================================
;
; Function Name: _SoundPause
; Description:: Pauses the sound
; Parameter(s): $sSnd_id - Sound ID returned by _SoundOpen or sound file
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 - Success, 0 and @error = 1 - Failure,
; Author(s): RazerM
;
;===============================================================================
;
Func _SoundPause($sSnd_id)
;Declare variables
Local $iRet
;pause sound
$iRet = mciSendString("pause " & FileGetShortName($sSnd_id))
;return
If $iRet = 0 Then
Return 1
Else
Return SetError(1, 0, 0)
EndIf
EndFunc ;==>_SoundPause
;===============================================================================
;
; Function Name: _SoundResume
; Description:: Resumes the sound after being paused
; Parameter(s): $sSnd_id - Sound ID returned by _SoundOpen or sound file
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 - Success, 0 and @error = 1 - Failure,
; Author(s): RazerM
;
;===============================================================================
;
Func _SoundResume($sSnd_id)
;Declare variables
Local $iRet
;resume sound
$iRet = mciSendString("resume " & FileGetShortName($sSnd_id))
;return
If $iRet = 0 Then
Return 1
Else
Return SetError(1, 0, 0)
EndIf
EndFunc ;==>_SoundResume
;===============================================================================
;
; Function Name: _SoundLength
; Description:: Returns the length of the sound in the format hh:mm:ss
; Parameter(s): $sSnd_id - Sound ID returned by _SoundOpen or sound file,
; $iMode = 1 - hh:mm:ss, $iMode = 2 - milliseconds
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): Length of the sound - Success, 0 and @error = 1 - $iMode is invalid
; Author(s): RazerM
;
;===============================================================================
;
Func _SoundLength($sSnd_id, $iMode = 1)
;Declare variables
Local $iSnd_len_ms, $iSnd_len_min, $iSnd_len_hour, $iSnd_len_sec, $sSnd_len_format
;validate $iMode
If $iMode <> 1 And $iMode <> 2 Then Return SetError(1, 0, 0)
;tell mci to use time in milliseconds
mciSendString("set " & FileGetShortName($sSnd_id) & " time format miliseconds")
;recieve length of sound
$iSnd_len_ms = mciSendString("status " & FileGetShortName($sSnd_id) & " length")
;assign modified data to variables
$iSnd_len_min = Int($iSnd_len_ms / 60000)
$iSnd_len_hour = Int($iSnd_len_min / 60)
$iSnd_len_sec = Int(Int($iSnd_len_ms / 1000) - ($iSnd_len_min * 60))
;assign formatted data to $sSnd_len_format
$sSnd_len_format = StringFormat("%02i:%02i:%02i", $iSnd_len_hour, $iSnd_len_min, $iSnd_len_sec)
;return correct variable
If $iMode = 1 Then Return $sSnd_len_format
If $iMode = 2 Then Return $iSnd_len_ms
EndFunc ;==>_SoundLength
;===============================================================================
;
; Function Name: _SoundSeek
; Description:: Seeks the sound to a specified time
; Parameter(s): $sSnd_id - Sound ID returned by _SoundOpen (must NOT be a file), $iHour, $iMin, $iSec
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 - Success, 0 and @error = 1 - Failure,
; Author(s): RazerM
;
;===============================================================================
;
Func _SoundSeek($sSnd_id, $iHour, $iMin, $iSec)
;Declare variables
Local $iMs = 0
Local $iRet
;prepare mci to recieve time in milliseconds
mciSendString("set " & FileGetShortName($sSnd_id) & " time format miliseconds")
;modify the $iHour, $iMin and $iSec parameters to be in milliseconds
;and add to $iMs
$iMs += $iSec * 1000
$iMs += $iMin * 60 * 1000
$iMs += $iHour * 60 * 60 * 1000
; seek sound to time ($iMs)
$iRet = mciSendString("seek " & FileGetShortName($sSnd_id) & " to " & $iMs)
;return
If $iRet = 0 Then
Return 1
Else
Return SetError(1, 0, 0)
EndIf
EndFunc ;==>_SoundSeek
;===============================================================================
;
; Function Name: _SoundStatus
; Description:: All devices can return the "not ready", "paused", "playing", and "stopped" values.
; Some devices can return the additional "open", "parked", "recording", and "seeking" values.(MSDN)
; Parameter(s): $sSnd_id - Sound ID returned by _SoundOpen or sound file
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): Sound Status
; Author(s): RazerM
;
;===============================================================================
;
Func _SoundStatus($sSnd_id)
;return status
Return mciSendString("status " & FileGetShortName($sSnd_id) & " mode")
EndFunc ;==>_SoundStatus
;===============================================================================
;
; Function Name: _SoundPos
; Description:: Returns the current position of the song
; Parameter(s): $sSnd_id - Sound ID returned by _SoundOpen or sound file,
; $iMode = 1 - hh:mm:ss, $iMode = 2 - milliseconds
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): Current Position - Success, @error = 1 - $iMode is invalid
; Author(s): RazerM
;
;===============================================================================
;
Func _SoundPos($sSnd_id, $iMode = 1)
;Declare variables
Local $iSnd_pos_ms, $iSnd_pos_min, $iSnd_pos_hour, $iSnd_pos_sec, $sSnd_pos_format
;validate $iMode
If $iMode <> 1 And $iMode <> 2 Then Return SetError(1, 0, 0)
;tell mci to use time in milliseconds
mciSendString("set " & FileGetShortName($sSnd_id) & " time format miliseconds")
;receive position of sound
$iSnd_pos_ms = mciSendString("status " & FileGetShortName($sSnd_id) & " position")
;modify data and assign to variables
$iSnd_pos_min = Int($iSnd_pos_ms / 60000)
$iSnd_pos_hour = Int($iSnd_pos_min / 60)
$iSnd_pos_sec = Int(Int($iSnd_pos_ms / 1000) - ($iSnd_pos_min * 60))
;assign formatted data to $sSnd_pos_format
$sSnd_pos_format = StringFormat("%02i:%02i:%02i", $iSnd_pos_hour, $iSnd_pos_min, $iSnd_pos_sec)
;return correct variable
If $iMode = 1 Then Return $sSnd_pos_format
If $iMode = 2 Then Return $iSnd_pos_ms
EndFunc ;==>_SoundPos
;===============================================================================
;
; Function Name: _SoundSetMasterVolume
; Description:: Sets the Master Volume. Does not control an application's volume
; Parameter(s): $$iVolume - % to set
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 - Success, 0 - Failure
; Author(s): Volly
; Example: _SoundSetMasterVolume(100)
;
;===============================================================================
;
func _SoundSetMasterVolume($iVolume)
_SetMixerVolume($MIXERLINE_COMPONENTTYPE_DST_SPEAKERS, $iVolume)
If @error Then
SetExtended(0)
Return(@extended)
else
SetExtended(1)
Return(@extended)
endif
EndFunc
;===============================================================================
;
; Function Name: _SoundGetMasterVolume
; Description:: Gets the Master Volume level
; Parameter(s): none
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 to 100 - Success, -1 - Failure
; Author(s): Volly
; Example: _SoundGetMasterVolume()
;
;===============================================================================
;
func _SoundGetMasterVolume()
$percent = _GetMixerVolume($MIXERLINE_COMPONENTTYPE_DST_SPEAKERS)
If @error Then
SetExtended(-1)
Return(@extended)
else
SetExtended($percent)
Return(@extended)
endif
EndFunc
;===============================================================================
;
; Function Name: _SoundSetMicrophoneVolume
; Description:: Sets the Microphone input volume
; Parameter(s): $iVolume - % to set
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 - Success, 0 and @error = 1 - Failure
; Author(s): Volly
; Example: _SoundSetMicrophoneVolume(50)
;
;===============================================================================
;
func _SoundSetMicrophoneVolume($iVolume)
_SetMixerVolume($MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, $iVolume)
If @error Then
Exit
else
SetExtended(1)
Return(@extended)
endif
EndFunc
;===============================================================================
;
; Function Name: _SoundGetMicrophoneVolume
; Description:: Gets the Microphone volume level
; Parameter(s): none
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 to 100 - Success, -1 - Failure
; Author(s): Volly
; Example: _SoundGetMicrophoneVolume()
;
;===============================================================================
;
func _SoundGetMicrophoneVolume()
$percent = _GetMixerVolume($MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE)
If @error Then
SetExtended(-1)
Return(@extended)
else
SetExtended($percent)
Return(@extended)
endif
EndFunc
;===============================================================================
;
; Function Name: _SoundGetPhoneVolume
; Description:: Gets the Phone volume on the modem
; Parameter(s): none
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 to 100 - Success, -1 - Failure
; Author(s): Volly
; Example: _SoundGetPhoneVolume()
; Notes: Some modems may not report volume levels. You will need to test.
;
;===============================================================================
;
func _SoundGetPhoneVolume()
$percent = _GetMixerVolume($MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE)
If @error Then
SetExtended(-10)
Return(@extended)
else
SetExtended($percent)
Return(@extended)
endif
EndFunc
;===============================================================================
;
; Function Name: _SoundSetVolumeCD
; Description:: Sets the Volume level on the CDRom
; Parameter(s): $iVolume - % to set
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 to 100 - Success, -1 - Failure
; Author(s): Volly
; Example: _SoundSetVolumeCD(45)
;
;===============================================================================
func _SoundSetVolumeCD($iVolume)
_SetMixerVolume($MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC, $iVolume)
If @error Then
Exit
else
SetExtended(1)
Return(@extended)
endif
EndFunc
;===============================================================================
;
; Function Name: _SoundSetMasterWaveVolume
; Description:: Sets the Master Wave Volume level.
; Parameter(s): $iVolume - % to set
; Requirement(s): AutoIt 3.2 ++
; Return Value(s): 1 to 100 - Success, -1 - Failure
; Author(s): Volly
; Example: _SoundSetMasterWaveVolume(60)
;
;===============================================================================
func _SoundSetMasterWaveVolume($iVolume)
_SetMixerVolume($MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT, $iVolume)
If @error Then
Exit
else
SetExtended(1)
Return(@extended)
endif
EndFunc
;===============================================================================
;
; Internal Functions
;
;===============================================================================
Func mciSendString($string)
Local $iRet
$iRet = DllCall("winmm.dll", "int", "mciSendStringA", "str", $string, "str", "", "int", 65534, "hwnd", 0)
If Not @error Then Return $iRet[2]
EndFunc ;==>mciSendString
Func RandomStr($len)
Local $string
For $iCurrentPos = 1 To $len
$string &= Chr(Random(97, 122, 1))
Next
Return $string
EndFunc ;==>RandomStr
Func _SetMixerVolume($MixerDevice, $percent)
;default mixer is always 0 (so far) which is last audio device installed or prefered deviced selected by user
SetExtended(10)
$curmixer = 0
Const $MM_MIXM_CONTROL_CHANGE = 0x3D1
Const $CALLBACK_WINDOW = 0x10000
OpenAllMixers($mixers)
If @error Then Exit
$hmxobj = MixerOpen($curmixer, 0, $MM_MIXM_CONTROL_CHANGE, BitOR($CALLBACK_WINDOW, $MIXER_OBJECTF_MIXER))
GetMXWaveoutID($mixers, $curmixer, $MixerDevice)
_SetVolume($mixers, $curmixer, $percent)
MixerClose($hmxobj)
CloseAllMixers($mixers)
SetExtended(1)
Return(@extended)
EndFunc ;==>_SetMixerVolume
Func _GetMixerVolume($MixerDevice)
;default mixer is always 0 (so far) which is last audio device installed or prefered deviced selected by user
$curmixer = 0
Const $MM_MIXM_CONTROL_CHANGE = 0x3D1
Const $CALLBACK_WINDOW = 0x10000
OpenAllMixers($mixers)
If @error Then Exit
$hmxobj = MixerOpen($curmixer, 0, $MM_MIXM_CONTROL_CHANGE, BitOR($CALLBACK_WINDOW, $MIXER_OBJECTF_MIXER))
GetMXWaveoutID($mixers, $curmixer, $MixerDevice)
$savevolume = GetSetOutVolume($mixers, $curmixer, 0, 0)
$savevolume = BitAND($savevolume / 0xFFFF * 100, 0xffff)
MixerClose($hmxobj)
CloseAllMixers($mixers)
Return $savevolume
EndFunc ;==>_GetMixerVolume
Func _SetVolume(ByRef $mixers, ByRef $curmixer, ByRef $percent)
$x = Mod($percent * 0xffff, 100)
$percent = BitAND($percent * 0xffff / 100, 0xffff)
$percent = $percent + $x
GetSetOutVolume($mixers, $curmixer, $percent) ;this will also trigger callback routine
EndFunc ;==>_SetVolume
Func GetSetOutVolume($mixers, $index, $vol = 0, $doset = 1)
Local $i, $x, $arraysize, $channels, $mtiems
Const $MIXERCONTROLDETAILS_UNSIGNED_SIZEOF = 4
Local $mixercontroldetails = DllStructCreate( _
"dword;" & _ ;DWORD cbStruct
"dword;" & _ ;DWORD dwControlID
"dword;" & _ ;DWORD cChannels;
"dword;" & _ ;HWND hwndOwner DWORD cMultipleItems;
"dword;" & _ ;DWORD cbDetails;
"dword") ;LPVOID paDetails;
If @error Then Return False
$mitems = $mixers[$index][$MIX_OUTMULTIEMS]
$channels = $mixers[$index][$MIX_OUTCHANNELS]
$arraysize = $channels
If $mitems Then $arraysize = $channels * $mitems
Local $plistbool = DllStructCreate("dword[" & $arraysize + 1 & "]") ;give me one mroe than needed
If @error Then Return False
$hmxobj = $mixers[$index][$MIX_HMXOBJ]
$mxcd = $mixercontroldetails
DllStructSetData($mxcd, $cbStruct, DllStructGetSize($mxcd))
DllStructSetData($mxcd, 2, $mixers[$index][$MIX_OUTCTRLID])
DllStructSetData($mxcd, 3, $mixers[$index][$MIX_OUTCHANNELS])
DllStructSetData($mxcd, 4, $mixers[$index][$MIX_OUTMULTIEMS])
DllStructSetData($mxcd, 5, $MIXERCONTROLDETAILS_UNSIGNED_SIZEOF) ;cbDetails to sizeof one unsigned struct
DllStructSetData($mxcd, 6, DllStructGetPtr($plistbool)) ;paDetails set ptr
$ret = DllCall("winmm.dll", "long", "mixerGetControlDetails", "hwnd", $hmxobj, "ptr", DllStructGetPtr($mxcd), "long", BitOR($MIXER_OBJECTF_HMIXER, $MIXER_GETCONTROLDETAILSF_VALUE))
If @error Then Return False
If $ret[0] = $MMSYSERR_NOERROR Then
$x = DllStructGetData($plistbool, 1, 1) ;just return right channel
For $i = 1 To $arraysize
DllStructSetData($plistbool, 1, $vol, $i) ;set left right to same value
Next ;i
If $doset Then $ret = DllCall("winmm.dll", "long", "mixerSetControlDetails", "hwnd", $hmxobj, "ptr", DllStructGetPtr($mxcd), "long", BitOR($MIXER_OBJECTF_HMIXER, $MIXER_SETCONTROLDETAILSF_VALUE))
Return $x
EndIf
Return False
EndFunc ;==>GetSetOutVolume
Func GetMXWaveoutID(ByRef $mixers, $index, $linetype)
Local $mitems, $chans, $hmxobj, $x, $ret, $lineid
;local structures are nuked on exit...so i have read..LOL
Local $mixercontrol = DllStructCreate( _
"dword;" & _ ; DWORD cbStruct;
"dword;" & _ ; DWORD dwControlID;
"dword;" & _ ; DWORD dwControlType;
"dword;" & _ ; DWORD fdwControl;
"dword;" & _ ; DWORD cMultipleItems;
"char[16];" & _ ;szShortName[MIXER_SHORT_NAME_CHARS];
"char[64];" & _ ;szName[MIXER_LONG_NAME_CHARS];
"dword;" & _ ;lMinimum
"dword;" & _ ;lMaximum
"dword[4];" & _ ;dwReserved[4];
"dword;" & _ ;cSteps
"dword[5]") ; DWORD dwReserved[6];
If @error Then Return False
Local $mixerlinecontrols = DllStructCreate( _
"dword;" & _ ; cbStruct;
"dword;" & _ ; DWORD dwLineID;
"dword;" & _ ; DWORD dwControlID DWORD dwControlType;
"dword;" & _ ; DWORD cControls;
"dword;" & _ ; DWORD cbmxctrl;
"ptr") ; LPMIXERCONTROL pamxctrl;
If @error Then Return False
$hmxobj = $mixers[$index][$MIX_HMXOBJ]
zeroline($mxline)
$mxline[$dwLineID] = BitOR($index, 0xFFFF0000)
$mxline[$dwComponentType] = $linetype
MixerGetLineInfo($hmxobj, $mxline, $MIXER_GETLINEINFOF_COMPONENTTYPE)
$lineid = $mxline[$dwLineID]
DllStructSetData($mixerlinecontrols, $cbStruct, DllStructGetSize($mixerlinecontrols))
DllStructSetData($mixerlinecontrols, 2, $lineid)
DllStructSetData($mixerlinecontrols, 3, $MIXERCONTROL_CONTROLTYPE_VOLUME)
DllStructSetData($mixerlinecontrols, 4, 1)
DllStructSetData($mixerlinecontrols, 5, DllStructGetSize($mixercontrol))
DllStructSetData($mixerlinecontrols, 6, DllStructGetPtr($mixercontrol))
$ret = DllCall("winmm.dll", "long", "mixerGetLineControls", "hwnd", $hmxobj, "ptr", DllStructGetPtr($mixerlinecontrols), "long", BitOR($MIXER_OBJECTF_HMIXER, $MIXER_GETLINECONTROLSF_ONEBYTYPE))
If $ret[0] <> $MMSYSERR_NOERROR Then Return False
$chans = $mxline[$cChannels]
$x = DllStructGetData($mixercontrol, 4) ;fwControl
If BitAND($x, $MIXERCONTROL_CONTROLF_UNIFORM) Then $chans = 1
$mitems = 0
If BitAND($x, $MIXERCONTROL_CONTROLF_MULTIPLE) Then $mitems = DllStructGetData($mixercontrol, 5)
$x = DllStructGetData($mixercontrol, 3) ;fwControl
If BitAND($x, $MIXERCONTROL_CT_CLASS_FADER) Then
$mixers[$index][$MIX_OUTCHANNELS] = $chans
$mixers[$index][$MIX_OUTMULTIEMS] = $mitems
$mixers[$index][$MIX_OUTCTRLID] = DllStructGetData($mixercontrol, 2)
Return True
EndIf
Return False
EndFunc ;==>GetMXWaveoutID
Func zeroline(ByRef $line)
Local $i
For $i = 0 To UBound($line) - 1
$line[$i] = 0
Next ;i
EndFunc ;==>zeroline
Func MixerGetLineInfo($hmxobj, ByRef $line, $flag)
Local $mixerline = DllStructCreate ("dword;dword;dword;dword;dword;dword;dword;dword;dword;dword;char[16];char[64];dword;dword;short;short;dword;char[32]")
If @error Then
SetError(1)
Return False
EndIf
Local $i
For $i = 1 To UBound($line) - 1
DllStructSetData($mixerline, $i, $line[$i])
Next ;i
DllStructSetData($mixerline, $cbStruct, DllStructGetSize($mixerline))
$ret = DllCall("winmm.dll", "long", "mixerGetLineInfo", "hwnd", $hmxobj, "ptr", DllStructGetPtr($mixerline), "int", $flag)
If @error Then
SetError(1)
Return False
EndIf
For $i = 1 To $szMPname
$line[$i] = DllStructGetData($mixerline, $i)
Next ;i
If $ret[0] = $MMSYSERR_NOERROR Then Return True
SetError(1)
Return False
EndFunc ;==>MixerGetLineInfo
;On Exit: MIX_HMXOBJ set to return value from mixeropn...check for @error
Func OpenAllMixers(ByRef $mixers)
Local $i, $mxnumdevs, $hmxobj
$mxnumdevs = mixerGetNumDevs()
If $mxnumdevs Then
ReDim $mixers[$mxnumdevs + 1][$AMIX_SIZEOF]
For $i = 0 To $mxnumdevs - 1
$hmxobj = MixerOpen($i, 0, 0, $MIXER_OBJECTF_MIXER)
If @error Then
SetError(1)
Return False
EndIf
$mixers[$i][$MIX_HMXOBJ] = $hmxobj
Next ;i
EndIf
$mixers[0][0] = $mxnumdevs
EndFunc ;==>OpenAllMixers
;On ENtry: mixer id and flag(s) , if no id passed then the preffered id is used (0) ditto for flag
;on exit: mixer handle
Func MixerOpen($uMxid = 0, $hwnd = 0, $instance = 0, $fdwOpen = 0)
Local $x, $h_struct
$h_struct = DllStructCreate("udword") ;since a local will be deleted on exit of function
If @error Then
SetError(1)
Return False
EndIf
$ret = DllCall("winmm.dll", "long", "mixerOpen", "ptr", DllStructGetPtr($h_struct), "int", $uMxid, "int", $hwnd, "int", $instance, "int", $fdwOpen)
If Not @error Then
If $ret[0] <> $MMSYSERR_NOERROR Then Return -1
$x = DllStructGetData($h_struct, 1)
Return $x
EndIf
SetError(1)
Return False
EndFunc ;==>MixerOpen
Func CloseAllMixers($mixers)
Local $i, $cnt
$cnt = $mixers[0][0]
For $i = 0 To $cnt - 1
MixerClose($mixers[$i][$MIX_HMXOBJ])
Next ;i
EndFunc ;==>CloseAllMixers
;On Entry: mixer handle
Func MixerClose($hmxobj)
$ret = DllCall("winmm.dll", "long", "mixerClose", "long", $hmxobj)
If Not @error Then Return True
Return False
EndFunc ;==>MixerClose
Func mixerGetNumDevs()
$ret = DllCall("winmm.dll", "long", "mixerGetNumDevs")
If Not @error Then Return $ret[0]
SetError(1)
Return False
EndFunc ;==>mixerGetNumDevs
;~ $re = _isMute(1000)
;~ If @error Then ConsoleWrite(@error & @CRLF)
;~ ConsoleWrite($re & @CRLF)
;===============================================================================
;
; Function Name: _isMute
; Description:: Check for mute sound
; Parameter(s): ControlID
; Voulme = 1000
; Wave = 2000
; SW-Synthesizer = 3000
; CD-Player = 4000
; Mikrofon = 5000
; Line-In = 6000
; Requirement(s): ---
; Return Value(s): 0 = not muted, 1 = muted, -1 = timeout, -2 = ControlID not found
; Author(s): Thorsten Meger (Xenobiologist)
;
;===============================================================================
Func _isMute($opt = 1000)
Local $retVal = 0, $ex = False
If Not WinExists('[CLASS:Volume Control]') Then
Run('sndvol32', '', @SW_HIDE)
$ex = True
EndIf
If WinWait('[CLASS:Volume Control]', '', 2) = 0 Then Return -1
$retVal = ControlCommand('[CLASS:Volume Control]', '', $opt, 'isChecked')
If @error Then Return -2
If $ex = True Then WinClose('[CLASS:Volume Control]')
Return $retVal
EndFunc ;==>_isMute
Find den Preis da jetzt nicht unbedingt angemessen. Ein T4400 ist alles andere als Zeitgemäss, die RAM Ausstattung sehr mager und die Grafik - nuja
Da wär mir das Geld bissle schade für. Langfristig gesehen ist das eher eine Fehlinvestition.
Soviel zu deinem Tipp
Damit wollte ich lediglich aufzeigen das der Test nicht objektiv ist. Wir werden wohl kaum alle die selbe Geschwindigkeit eingestellt haben. Ausserdem bin ich sicher nicht der Einzige der diese Option kennt. Somit sorgt der Hinweis eher für Chancengleichheit als das er zum schummeln anstiftet. ![]()
Die Option gibt es ach unter Windows, einfach mal in die Systemsteuerung schauen.
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Und das hier mal kurz als Denkanstoss: [Blockierte Grafik: http://www.abload.de/thumb/bildschirmfoto0bym.png]
Das kommt von der Grafik in tuttifruttis Signatur, unter "Mit freundlichen Grüßen".
For $i = 0 To 999
If $i < 10 Then $i = "00" & $i
If $i >= 10 And $i < 100 Then $i = "0" & $i
If MsgBox(4, "Zahlen von 000 bis 999", "Zahl: " & $i & @CRLF & "Abbrechen?") = 6 Then ExitLoop
Next
Zeig uns bitte dein Skript, dann hilft's sich leichter.
Um das nochmal eindeutig klarzustellen - Nein, diese Beschränkung lässt sich nicht umgehen.
So wie die unixoide Zeitrechnung am 1.1.1970 beginnt, beginnt die Windows-Zeitrechnung am 1.1.1980. Negative Timestamps gibt es nicht.
(Nachtrag: Ich muss mich etwas korrigieren. Man kann natürlich in Skript- und Programmiersprachen mit negativen Timestamps arbeiten. Ansonsten könnten die älteren unter uns ihr Geburtsdatum hier im Forum ja z.B. nicht nutzen. Die Betriebssysteme sind allerdings an ihre Zeitrechnung gebunden.)
Man könnte also behaupten Microsoft hängt 10 Jahre hinterher, aber wer weiss schon wie spät es wirklich ist. Der Spiegel 35/2003
aktueller Timestamp: 1277292841
Hättest ja den Spoiler nicht aufmachen müssen ;).
Vlt. schaust du dir auch noch _Crypt_DecryptFile(), _Crypt_EncryptFile (), _Crypt_DecryptData() und _Crypt_EncryptData() an.
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <string.au3>
$ini = @ScriptDir & "\data.ini"
[/autoit] [autoit][/autoit] [autoit]If Not FileExists($ini) Then
IniWrite($ini, "account", "user", _StringEncrypt(1, "bla", "abc123", 5))
IniWrite($ini, "account", "pass", _StringEncrypt(1, "blub", "abc123", 5))
EndIf
$origUser = _StringEncrypt(0, IniRead($ini, "account", "user", ""), "abc123", 5)
$origPass = _StringEncrypt(0, IniRead($ini, "account", "pass", ""), "abc123", 5)
$Input1 = GUICtrlCreateInput("", 120, 144, 105, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD))
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 313, 184, 277, 173)
$Input1 = GUICtrlCreateInput("", 128, 48, 153, 21) ;soll nachher ein Code sein wie zum Beispiel S485hfbgszwZ3n der dann eingegeben wird und zur bestätigung dient dazu halt ein passwort zu besseren sicherung
$Input2 = GUICtrlCreateInput("", 128, 80, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD))
$Label1 = GUICtrlCreateLabel("Erkennungscode:", 16, 48, 108, 23)
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
GUICtrlSetColor(-1, 0xFF0000)
$Label2 = GUICtrlCreateLabel("Passwort:", 56, 80, 64, 23)
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
GUICtrlSetColor(-1, 0xFF0000)
$login = GUICtrlCreateButton("Anmelden", 32, 120, 113, 25, 0) ;wenn man anmelden drückt soll sich die loginbox schließen und nur notepad öffnen aber nur in dem das passwort und der benutzername bzw captcha richtig ist
$cancel = GUICtrlCreateButton("Abbrechen ", 160, 120, 113, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $login
If GUICtrlRead($Input2) = $origPass And GUICtrlRead($Input1) = $origUser Then
MsgBox(64, "Passwort richtig", "Sie haben sich erfolgreich eingeloggt")
MsgBox(0, "", "mach was")
Exit
Else
MsgBox(48, "Passwort falsch", "Sie haben das Passwort oder den Benutzernamen falsch eingegeben")
EndIf
Case $cancel
MsgBox(48, "Anmeldung Abbgebrochen", "Sie haben die Anmeldung abbgebrochen.", 3)
Exit
[/autoit] [autoit][/autoit] [autoit]EndSwitch
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]WEnd
[/autoit]Zum Abgleich einfach eine IF Abfage einbauen.
if inputpasswort = passwort AND inputuser = user then
MsgBox(...)
und weiter
Else
MsgBox(...)
und Ende
Endif
Du müsstest dir natürlich noch überlegen woher dein Skript die Vergleichsdaten beziehen soll? INI, Batenbank - lokal oder über's Inet.
Und was heisst "beim verschicken soll das Passwort nicht angezeigt werden". Wohin wird es verschickt? Meinst du verschlüsselt irgendwo ablegen?
FileGetSize()
[/autoit]