|
51
|
Media / Multimedia / Formato ASF
|
en: 28 Diciembre 2006, 00:53 am
|
Yo con un programa me descargo video en streaming en formato asf, con el windows media player algunos archivos los reproduce y me deja saltar, irme al minuto 1, al 2, al 4, al 0 etc..., pero otros no, y lo que quiero es algún programa para reproducirlo y no tener que esperar 10 minutos por ejemplo hasta que llegue a la parte que quiero ver. Saludos
|
|
|
52
|
Foros Generales / Sugerencias y dudas sobre el Foro / Propuesta, foro de TV
|
en: 22 Diciembre 2006, 23:28 pm
|
Se que ya se ha pedido algunas veces, pero me gustaría dar como sugerencia de crear un foro de televisión, de como sintonizarla, verla, diferentes tipos de TV (siempre que no sea de pago). Las programaciones que hay en los canales, los feeds de los satélites, como orientar antenas parabólicas, la televisión por p2p, información sobre imagenio, información sobre D+ (pero sin meternos en su sistema de codificación, ni en sus keys ni en nagravisión ni nada que suene a verlo sin pagar), el foro estaría centrado principalmente a la televisión de libre difusión, y del paraíso de canales que hay en diferentes satélites gratuitos, tipos FTA. Es solo una propuesta porque genial que hubiera tutoriales de como orientar parabólicas y todo ese tema. Saludos
|
|
|
53
|
Programación / Programación Visual Basic / PFE Previsualizar ficheros de emule 1.0, código fuente por Rey11
|
en: 26 Octubre 2006, 16:29 pm
|
Pequeño programa para ver archivos temporales de emule: Datos en un formulario: Dim fichero(0 To 200) As String Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOWNORMAL = 1 Dim rutad As String Dim ruta Dim fecha As String Dim dato As String Dim part As String Dim i As Integer Dim elegido As String Dim elegido2 As String Dim respuesta As Integer
Public Sub KillProcess(ByVal processName As String) On Error GoTo ErrHandler Dim oWMI Dim ret Dim sService Dim oWMIServices Dim oWMIService Dim oServices Dim oService Dim servicename Set oWMI = GetObject("winmgmts:") Set oServices = oWMI.InstancesOf("win32_process") respuesta = 1 For Each oService In oServices
servicename = LCase(Trim(CStr(oService.Name) & ""))
If InStr(1, servicename, LCase(processName), vbTextCompare) > 0 Then If (MsgBox("El proceso de emule está activo, ¿quieres cerrarle para hacer la previsualización", vbYesNo, "Cerrar emule") = vbYes) Then ret = oService.Terminate MsgBox ("Una vez cerrado el emule, se procederá a la previsualización")
Else respuesta = 0 End If Else
End If
Next
Set oServices = Nothing Set oWMI = Nothing
ErrHandler:
Err.Clear End Sub
Private Sub Command1_Click()
Dim nulo As String Open ruta + "\downloads.txt" For Input As #1 Input #1, fecha Input #1, ruta2 Input #1, nulo Input #1, nulo Input #1, nulo Label2 = Label2 & Mid(fecha, 13, Len(fecha)) Label3 = Label3 & Mid(ruta2, 11, Len(ruta2)) While EOF(1) = False Line Input #1, fichero(i)
List1.AddItem Mid(fichero(i), 1, 8) part = Mid(fichero(i), 1, 8) fichero(i) = Mid(fichero(i), 23) fichero(i) = Replace(fichero(i), "%20", " ") fichero(i) = Mid(fichero(i), 1, Len(fichero(i)) - 45)
List2.AddItem fichero(i) List3.AddItem part & " " & fichero(i) Text1 = Text1 + fichero(i) + vbCrLf i = i + 1 Wend Close #1 Command1.Enabled = False End Sub
Private Sub Command2_Click() Dim v As Integer For v = List3.ListCount - 1 To 0 Step -1 If List3.Selected(v) Then elegido = List3.List(v) End If Next Command2.Enabled = False elegido2 = Mid(elegido, 10, Len(elegido)) elegido = Mid(elegido, 1, 8) KillProcess ("emule.exe") If (respuesta = 1) Then
FileCopy ruta & "\temp\" & elegido, ruta & "\temp2\" & elegido2 ShellExecute Me.hwnd, vbNullString, elegido2, vbNullString, ruta & "\temp2", SW_SHOWNORMAL End If Command2.Enabled = True End Sub
Private Sub Command3_Click() On Error GoTo fin Kill ruta & "\temp2\*.*" GoTo fin2 fin: MsgBox "Error al eliminar los ficheros temporales", vbCritical, "Error" fin2:
End Sub
Private Sub Command4_Click() Form2.Show vbModal
End Sub
Private Sub Form_Load() On Error Resume Next ruta = RegGetValueData(RegCurrentUser, "Software\eMule", "Install Path")
MkDir ruta & "\temp2" End Sub
Modulo de registro: Option Explicit
Private Declare Function OSRegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long Private Declare Function OSRegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long Private Declare Function OSRegConnectRegistry Lib "advapi32.dll" Alias "RegConnectRegistryA" (ByVal lpMachineName As String, ByVal hKey As Long, phkResult As Long) As Long Private Declare Function OSRegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long Private Declare Function OSRegCloseKey Lib "advapi32.dll" Alias "RegCloseKey" (ByVal hKey As Long) As Long
Private Declare Function OSRegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As FILETIME) As Long Private Declare Function OSRegFlushKey Lib "advapi32.dll" Alias "RegFlushKey" (ByVal hKey As Long) As Long Private Declare Function OSRegQueryInfoKey Lib "advapi32.dll" Alias "RegQueryInfoKeyA" (ByVal hKey As Long, ByVal lpClass As String, lpcbClass As Long, ByVal lpReserved As Long, lpcSubKeys As Long, lpcbMaxSubKeyLen As Long, lpcbMaxClassLen As Long, lpcValues As Long, lpcbMaxValueNameLen As Long, lpcbMaxValueLen As Long, lpcbSecurityDescriptor As Long, lpftLastWriteTime As FILETIME) As Long
Private Declare Function OSRegReplaceKey Lib "advapi32.dll" Alias "RegReplaceKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpNewFile As String, ByVal lpOldFile As String) As Long Private Declare Function OSRegRestoreKey Lib "advapi32.dll" Alias "RegRestoreKeyA" (ByVal hKey As Long, ByVal lpFile As String, ByVal dwFlags As Long) As Long Private Declare Function OSRegSaveKey Lib "advapi32.dll" Alias "RegSaveKeyA" (ByVal hKey As Long, ByVal lpFile As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long
Private Declare Function OSRegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Byte, lpcbData As Long) As Long Private Declare Function OSRegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long Private Declare Function OSRegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Private Declare Function OSRegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
'Tipos de datos del registro ' Const REG_NONE = 0 'No definido Const REG_SZ = 1 'Cadena de texto Const REG_EXPAND_SZ = 2 'Cadena que contiene una referencia a una variable de entorno (por ej. %windir%) Const REG_BINARY = 3 'Datos binarios en cualquier formato Const REG_DWORD = 4 'Número de 32 bits Const REG_DWORD_LITTLE_ENDIAN = 4 'Igual a REG_DWORD Const REG_DWORD_BIG_ENDIAN = 5 Const REG_LINK = 6 'Un vínculo Unicode símbolico Const REG_MULTI_SZ = 7 'Una matriz de cadenas terminadas en dos caracteres nulos Const REG_RESOURCE_LIST = 8 'Lista de recursos de un controlador de dispositivo
Const READ_CONTROL = &H20000 'El derecho para leer la información en el descriptor de seguridad del objeto, no incluyendo la información en SACL. Const SYNCHRONIZE = &H100000
'Derechos normales de acceso ' Const STANDARD_RIGHTS_ALL = &H1F0000 'Lectura y escritura Const STANDARD_RIGHTS_READ = (READ_CONTROL) 'Lectura Const STANDARD_RIGHTS_WRITE = (READ_CONTROL) 'Escritura
'Argumentos para RegOpenKey ' Const KEY_QUERY_VALUE = &H1 'Permiso para consultar los datos de una subclave Const KEY_SET_VALUE = &H2 'Permiso para establecer los datos de una subclave Const KEY_CREATE_SUB_KEY = &H4 'Permiso para crear subclaves Const KEY_ENUMERATE_SUB_KEYS = &H8 'Permiso para enumerar subclaves Const KEY_NOTIFY = &H10 'Permiso para cambiar notificación Const KEY_CREATE_LINK = &H20 'Permiso para crear un vínculo simbólico Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE)) Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE)) Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE)) Const KEY_EXECUTE = ((KEY_READ) And (Not SYNCHRONIZE))
'Valores devueltos por lpdwDisposition de RegCreateKey ' Const REG_CREATED_NEW_KEY = &H1 'Se creó una nueva clave Const REG_OPENED_EXISTING_KEY = &H2 'Se abrió una clave existente
'Valores para dwNotifyFilter de RegNotifyChangeKeyValue ' Const REG_NOTIFY_CHANGE_NAME = &H1 'Si se agrega o elimina una clave Const REG_NOTIFY_CHANGE_ATTRIBUTES = &H2 'Cambiar atributos de la clave Const REG_NOTIFY_CHANGE_LAST_SET = &H4 'Modificar, agregar o eliminar un valor de la clave Const REG_NOTIFY_CHANGE_SECURITY = &H8 'Cambiar el descriptor de seguridad de la clave (SECURITY_DESCRIPTOR)
'Argumentos para dwOptions de RegCreateKey ' Const REG_OPTION_NON_VOLATILE = 0 '(Predeterminado) Crea una clave normalmente Const REG_OPTION_VOLATILE = 1 'Borra la clave al reiniciar el sistema Const REG_OPTION_CREATE_LINK = 2 'Crea un vínculo virtual Const REG_OPTION_BACKUP_RESTORE = 4 'Para Windows NT
Const REG_OPTION_RESERVED = 0 'Reservado
Const REG_LEGAL_CHANGE_FILTER = (REG_NOTIFY_CHANGE_NAME Or REG_NOTIFY_CHANGE_ATTRIBUTES Or REG_NOTIFY_CHANGE_LAST_SET Or REG_NOTIFY_CHANGE_SECURITY) Const REG_LEGAL_OPTION = (REG_OPTION_RESERVED Or REG_OPTION_NON_VOLATILE Or REG_OPTION_VOLATILE Or REG_OPTION_CREATE_LINK Or REG_OPTION_BACKUP_RESTORE)
'Para el argumento dwFlags de RegRestoreKey ' Const REG_WHOLE_HIVE_VOLATILE = &H1 'Borra la clave al reiniciar el sistema
'Claves del registro ' Const HKEY_CLASSES_ROOT = &H80000000 Const HKEY_CURRENT_CONFIG = &H80000005 Const HKEY_CURRENT_USER = &H80000001 Const HKEY_DYN_DATA = &H80000006 Const HKEY_LOCAL_MACHINE = &H80000002 Const HKEY_PERFORMANCE_DATA = &H80000004 'Sólo para NT Const HKEY_USERS = &H80000003
Const ERROR_SUCCESS = 0& Const ERROR_NO_MORE_ITEMS = 259& 'No hay más elementos
Const MODULE_DESC$ = "Registry Module"
Enum RegKeyConstants RegClassesRoot = HKEY_CLASSES_ROOT RegCurrentConfig = HKEY_CURRENT_CONFIG RegCurrentUser = HKEY_CURRENT_USER RegDynData = HKEY_DYN_DATA RegLocalMachine = HKEY_LOCAL_MACHINE RegPerformanceData = HKEY_PERFORMANCE_DATA RegUsers = HKEY_USERS End Enum
Enum RegAccessType regqueryvalue = KEY_QUERY_VALUE RegSetValue = KEY_SET_VALUE RegCreateSubKey = KEY_CREATE_SUB_KEY RegEnumerateSubKeys = KEY_ENUMERATE_SUB_KEYS RegNotify = KEY_NOTIFY RegCreateLink = KEY_CREATE_LINK RegAllAccess = KEY_ALL_ACCESS RegRead = KEY_READ RegWrite = KEY_WRITE RegExecute = KEY_EXECUTE End Enum
Enum RegValueTypeConstants RegString = REG_SZ RegExpandString = REG_EXPAND_SZ RegMultiString = REG_MULTI_SZ RegBinary = REG_BINARY RegDWORD = REG_DWORD RegDWORDLittleEndian = REG_DWORD_LITTLE_ENDIAN RegDWORDBigEndian = REG_DWORD_BIG_ENDIAN RegLink = REG_LINK RegUnknown = REG_NONE RegResourceList = REG_RESOURCE_LIST End Enum
Enum RegCreateOptionsConstants RegVolatile = REG_OPTION_VOLATILE RegNonVolatile = REG_OPTION_NON_VOLATILE RegOptionBackupRestore = REG_OPTION_BACKUP_RESTORE End Enum
Private Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type
Private Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type
Type RegValue sName As String cType As RegValueTypeConstants vData As Variant lData As Long End Type
Type RegKey lLongKey As RegKeyConstants sStringKey As String sPath As String sName As String lNameLen As Long lHandle As Long lSubKeys As Long lValues As Long tValues() As RegValue sClass As String End Type
Function RegOpenKey(Optional Key As RegKeyConstants = RegLocalMachine, Optional ByVal SubKey As String, Optional DesiredAccess As RegAccessType = RegAllAccess) As RegKey Dim iPos%, r& With RegOpenKey r = OSRegOpenKeyEx(CLng(Key), SubKey, 0&, CLng(DesiredAccess), .lHandle) If r = ERROR_SUCCESS Then If Right(SubKey, 1) = "\" Then SubKey = Left(SubKey, Len(SubKey) - 1) iPos = InStrRev("\", SubKey) .sName = Mid(SubKey, iPos + 1) .lNameLen = LenB(.sName) .lLongKey = Key .sStringKey = GetKeyString(.lLongKey) .sPath = Left(SubKey, iPos) End If End With End Function
Function RegCreateKey(Key As RegKeyConstants, SubKey As String, Optional Options As RegCreateOptionsConstants = RegNonVolatile, Optional DesiredAccess As RegAccessType = RegAllAccess, Optional Class As String) As RegKey Dim sa As SECURITY_ATTRIBUTES, r& Dim iPos%
With RegCreateKey r = OSRegCreateKeyEx(CLng(Key), SubKey, 0&, Class, CLng(Options), _ CLng(DesiredAccess), sa, .lHandle, 0&) If r = ERROR_SUCCESS Then If Not Right(SubKey, 1) Like "\" Then SubKey = SubKey & "\" iPos = InStrRev("\", SubKey) .sName = Mid(SubKey, iPos + 1) .lNameLen = LenB(.sName) .lLongKey = Key .sStringKey = GetKeyString(.lLongKey) .sPath = Left(SubKey, iPos) End If End With End Function
Function RegConnectRegistry(MachineName As String, Optional Key As RegKeyConstants = RegLocalMachine) As RegKey Dim r& With RegConnectRegistry r = OSRegConnectRegistry(MachineName, CLng(Key), .lHandle) If r = ERROR_SUCCESS Then .sName = GetKeyString(Key) .lNameLen = LenB(.sName) .lLongKey = Key .sStringKey = GetKeyString(.lLongKey) End If End With End Function
Function RegCloseKey(hKey As Long) As Boolean RegCloseKey = (OSRegCloseKey(hKey) = ERROR_SUCCESS) End Function
Function RegDeleteKey(Key As RegKeyConstants, SubKey As String) As Boolean RegDeleteKey = (OSRegDeleteKey(CLng(Key), SubKey) = ERROR_SUCCESS) End Function
Function RegEnumKeyNames(TargetArray() As String, Optional Key As RegKeyConstants = RegLocalMachine, Optional ByVal SubKey As String, Optional MaxKeysToEnum As Long = -1) As Long On Error GoTo CloseKey Dim iCount%, iArrayType% Dim hKey&, ft As FILETIME Dim r&, sName$, lName&
hKey = RegOpenKey(Key, SubKey, RegEnumerateSubKeys).lHandle If hKey <> ERROR_SUCCESS Then Erase TargetArray Do lName = 256: sName = String(lName, 0) r = OSRegEnumKeyEx(hKey, iCount, sName, lName, 0&, ByVal "", 0&, ft) If r <> ERROR_NO_MORE_ITEMS Then ReDim Preserve TargetArray(iCount) As String TargetArray(iCount) = Left(sName, lName) Else GoTo CloseKey End If Step: iCount = iCount + 1 If MaxKeysToEnum > -1 And iCount = MaxKeysToEnum Then GoTo CloseKey Loop CloseKey: Call RegCloseKey(hKey) RegEnumKeyNames = iCount End If End Function
Function RegEnumKeys(TargetArray() As RegKey, Optional Key As RegKeyConstants = RegLocalMachine, Optional ByVal SubKey As String, Optional bEnumValues As Boolean = False, Optional MaxKeysToEnum As Long = -1) As Long On Error GoTo CloseKey Dim iCount%, iArrayType% Dim hKey&, ft As FILETIME Dim r&, sName$, lName& Dim sClass$, lClass& hKey = RegOpenKey(Key, SubKey, RegEnumerateSubKeys).lHandle If hKey <> ERROR_SUCCESS Then Erase TargetArray Do lName = 256: sName = String(lName, 0) lClass = 256: sClass = String(lName, 0) r = OSRegEnumKeyEx(hKey, iCount, sName, lName, 0&, sClass, lClass, ft) If bEnumValues Then 'Enumerar valores End If If r <> ERROR_NO_MORE_ITEMS Then ReDim Preserve TargetArray(iCount) As RegKey With TargetArray(iCount) .sName = Left(sName, lName) .lNameLen = LenB(.sName) .lLongKey = Key .sStringKey = GetKeyString(.lLongKey) .sPath = SubKey .lValues = RegEnumValues(.tValues, hKey) End With Else GoTo CloseKey End If Step: iCount = iCount + 1 If MaxKeysToEnum > -1 And iCount = MaxKeysToEnum Then GoTo CloseKey Loop CloseKey: Call RegCloseKey(hKey) RegEnumKeys = iCount - 1 End If End Function
Function RegQueryInfoKey(Optional Key As RegKeyConstants = RegLocalMachine, Optional ByVal SubKey As String, Optional QueryValues As Boolean = False, Optional OpenKey As Boolean = False) As RegKey Dim hKey&, ft As FILETIME Dim lClass&, r& Dim iPos% With RegQueryInfoKey hKey = RegOpenKey(Key, SubKey, RegRead).lHandle If hKey <> ERROR_SUCCESS Then lClass = 256: .sClass = String(lClass, 0) r = OSRegQueryInfoKey(hKey, .sClass, lClass, 0&, .lSubKeys, 0&, 0&, .lValues, 0&, 0&, 0&, ft) If r = ERROR_SUCCESS Then iPos = InStrRev(SubKey, "\") .sClass = Left(.sClass, lClass) .sName = Mid(SubKey, iPos + 1) .lNameLen = Len(.sName) .sPath = Left(SubKey, iPos) .lLongKey = Key .sStringKey = GetKeyString(.lLongKey) If Not OpenKey Then Call RegCloseKey(hKey) Else .lHandle = hKey If QueryValues Then r = RegEnumValues(.tValues, Key, SubKey) End If End If End If End With End Function
Function RegFlushKey(hKey As Long) As Boolean RegFlushKey = (OSRegFlushKey(hKey) = ERROR_SUCCESS) End Function
Function RegEnumValueNames(TargetArray() As String, Optional Key As RegKeyConstants = RegLocalMachine, Optional ByVal SubKey As String) As Long On Error GoTo CloseKey Dim hKey&, r& Dim sName$, lName& Dim lCount& Dim btData As Byte, lData& Dim lType& hKey = RegOpenKey(Key, SubKey, regqueryvalue).lHandle If hKey <> ERROR_SUCCESS Then Erase TargetArray
Do lName = 256: sName = String(lName, 0) lData = 2000 r = OSRegEnumValue(hKey, lCount&, sName, lName, 0&, 0&, ByVal btData, lData) If r = ERROR_SUCCESS Then ReDim Preserve TargetArray(lCount) As String TargetArray(lCount) = Left(sName, lName) Else: GoTo CloseKey End If lCount = lCount + 1 Loop CloseKey:
Call RegCloseKey(hKey) RegEnumValueNames = lCount - 1 End If End Function
Function RegEnumValues(TargetArray() As RegValue, Optional Key As RegKeyConstants = RegLocalMachine, Optional ByVal SubKey As String) As Long On Error GoTo CloseKey Dim hKey&, r& Dim sName$, lName& Dim lCount& Dim btData As Byte, lData& Dim lType& hKey = RegOpenKey(Key, SubKey, KEY_QUERY_VALUE).lHandle If hKey <> ERROR_SUCCESS Then Erase TargetArray Do lName = 256: sName = String(lName, 0) lData = 2000 r = OSRegEnumValue(hKey, lCount&, sName, lName, 0&, lType, ByVal btData, lData) If r = ERROR_SUCCESS Then ReDim Preserve TargetArray(lCount) As RegValue TargetArray(lCount) = RegGetValue(hKey, , Left(sName, lName)) Else: GoTo CloseKey End If lCount = lCount + 1 Loop CloseKey: Call RegCloseKey(hKey) RegEnumValues = lCount - 1 End If End Function
Function RegGetValueData(Key As RegKeyConstants, Optional ByVal SubKey As String, Optional ValueName As String) As Variant Dim hKey&, r& Dim sData$, lDataLen& Dim lData&, ValType As RegValueTypeConstants hKey = RegOpenKey(Key, SubKey, regqueryvalue).lHandle ValType = RegString If hKey <> ERROR_SUCCESS Then Select Case ValType Case RegString, RegMultiString, RegExpandString, RegBinary, RegUnknown sData = String(2000, 0) lDataLen = LenB(sData) r = OSRegQueryValueEx(hKey, ValueName, 0&, ValType, _ ByVal sData, lDataLen) If ValType = RegDWORD Or ValType = RegDWORDBigEndian Or ValType = RegDWORDLittleEndian Then GoTo LongType RegGetValueData = Left(sData, lDataLen - 1) Case Else LongType: r = OSRegQueryValueEx(hKey, ValueName, 0&, ValType, _ lData, lDataLen) RegGetValueData = lData End Select Call RegCloseKey(hKey) End If End Function
Function RegGetValue(Key As RegKeyConstants, Optional ByVal SubKey As String, Optional ValueName As String) As RegValue Dim hKey&, r& Dim sData$, lDataLen& Dim lData&, ValType As RegValueTypeConstants
hKey = RegOpenKey(Key, SubKey, regqueryvalue).lHandle ValType = RegString
If hKey <> ERROR_SUCCESS Then With RegGetValue Select Case ValType Case RegLink, RegString, RegMultiString, RegExpandString, RegBinary, RegUnknown sData = String(2000, 0) lDataLen = LenB(sData) r = OSRegQueryValueEx(hKey, ValueName, 0&, ValType, _ ByVal sData, lDataLen) If ValType = RegDWORD Or ValType = RegDWORDBigEndian Or ValType = RegDWORDLittleEndian Then GoTo LongType If r = ERROR_SUCCESS Then .vData = Left(sData, lDataLen) .lData = lDataLen .cType = ValType .sName = ValueName End If Case Else LongType: r = OSRegQueryValueEx(hKey, ValueName, 0&, ValType, _ lData, lDataLen) If r = ERROR_SUCCESS Then .vData = lData .lData = lDataLen .cType = ValType .sName = ValueName End If End Select Call RegCloseKey(hKey) End With End If End Function
Function RegDeleteValue(Key As RegKeyConstants, Optional ByVal SubKey As String, Optional ValueName As String) As Boolean Dim hKey& hKey = RegOpenKey(Key, SubKey, RegSetValue).lHandle RegDeleteValue = (OSRegDeleteValue(hKey, ValueName) = ERROR_SUCCESS) Call RegCloseKey(hKey) End Function
Function RegSetValues(Key As RegKeyConstants, SubKey As String, ValueName As Variant, Data As Variant, Optional ValueType As RegValueTypeConstants = RegString) As Integer Dim hKey&, r& Dim i%, iScsCount% hKey = RegOpenKey(Key, SubKey, RegSetValue).lHandle If hKey <> ERROR_SUCCESS Then If IsArray(ValueName) And IsArray(Data) Then 'Si son dos matrices If (UBound(ValueName) - LBound(ValueName)) <> (UBound(Data) - LBound(Data)) Then 'Si no tienen las mismas dimensiones se produce un error Call Err.Raise(45, MODULE_DESC, "Las matrices no tienen la misma dimensión") Else For i = LBound(ValueName) To UBound(ValueName) 'Identifica el tipo de valor que se va a establecer Select Case ValueType Case RegString, RegMultiString, RegExpandString, RegBinary, RegUnknown r = OSRegSetValueEx(hKey, ValueName(i), 0&, _ CLng(ValueType), ByVal CStr(Data(i)), LenB(Data(i))) Case Else r = OSRegSetValueEx(hKey, ValueName(i), 0&, _ CLng(ValueType), CLng(Data(i)), 4) End Select 'Si no hay ningún error aumenta el contador de valores 'que se pudieron establecer If r = ERROR_SUCCESS Then iScsCount = iScsCount + 1 Next 'Devuelve el la cantidad de valores que se establecieron RegSetValues = iScsCount End If ElseIf IsArray(ValueName) Then 'Si los nombres de valores están en una matriz For i = LBound(ValueName) To UBound(ValueName) 'Establece todos los valores pero con los mismos datos Select Case ValueType Case RegString, RegMultiString, RegExpandString, RegBinary, RegUnknown r = OSRegSetValueEx(hKey, ValueName(i), 0&, _ CLng(ValueType), ByVal CStr(Data), LenB(Data)) Case Else r = OSRegSetValueEx(hKey, ValueName(i), 0&, _ CLng(ValueType), CLng(Data), 4) End Select If r = ERROR_SUCCESS Then iScsCount = iScsCount + 1 Next RegSetValues = iScsCount Else Select Case ValueType Case RegString, RegMultiString, RegExpandString, RegBinary, RegUnknown, RegLink r = OSRegSetValueEx(hKey, ValueName, 0&, _ CLng(ValueType), ByVal CStr(Data), LenB(Data)) Case Else r = OSRegSetValueEx(hKey, ValueName, 0&, _ CLng(ValueType), CLng(Data), 4) End Select RegSetValues = True End If End If Call RegCloseKey(hKey) End Function
Function RegIsKey(Key As RegKeyConstants, Optional ByVal SubKey As String) As Boolean Dim hKey& hKey = RegOpenKey(Key, SubKey).lHandle RegIsKey = (hKey <> 0) Call RegCloseKey(hKey) End Function
Function GetKeyString(hKey As Variant) As String Select Case hKey Case RegClassesRoot, "HKCR", "HKEY_CLASSES_ROOT": GetKeyString = "HKEY_CLASSES_ROOT" Case RegCurrentConfig, "HKCC", "HKEY_CURRENT_CONFIG": GetKeyString = "HKEY_CURRENT_CONFIG" Case RegCurrentUser, "HKCU", "HKEY_CURRENT_USER": GetKeyString = "HKEY_CURRENT_USER" Case RegDynData, "HKDD", "HKEY_DYN_DATA": GetKeyString = "HKEY_DYN_DATA" Case RegLocalMachine, "HKLM", "HKEY_LOCAL_MACHINE": GetKeyString = "HKEY_LOCAL_MACHINE" Case RegPerformanceData, "HKPD", "HKEY_PERFORMANCE_DATA": GetKeyString = "HKEY_PERFORMANCE_DATA" Case RegUsers, "HKU", "HKEY_USERS": GetKeyString = "HKEY_USERS" End Select End Function
Function GetKeyLong(hKey As Variant) As String Select Case hKey Case RegClassesRoot, "HKCR", "HKEY_CLASSES_ROOT": GetKeyLong = RegClassesRoot Case RegCurrentConfig, "HKCC", "HKEY_CURRENT_CONFIG": GetKeyLong = RegCurrentConfig Case RegCurrentUser, "HKCU", "HKEY_CURRENT_USER": GetKeyLong = RegCurrentUser Case RegDynData, "HKDD", "HKEY_DYN_DATA": GetKeyLong = RegDynData Case RegLocalMachine, "HKLM", "HKEY_LOCAL_MACHINE": GetKeyLong = RegLocalMachine Case RegPerformanceData, "HKPD", "HKEY_PERFORMANCE_DATA": GetKeyLong = RegPerformanceData Case RegUsers, "HKU", "HKEY_USERS": GetKeyLong = RegUsers End Select End Function
Código fuente: http://hackersclub.info/emule-previsualizar.zipAplicación: http://hackersclub.info/PFE.zipSaludos
|
|
|
55
|
Informática / Electrónica / Contruir Radio
|
en: 16 Octubre 2006, 01:01 am
|
Alguién me puede hechar una mano de como puedo construir una radio?? He hecho circuitos con bombillas para mi clase de tecnologÃa, la tÃpica pila de petaca el interruptor las bombillas circuito en serie y en paralelo. Por eso me gustarÃa que me lo explicaraÃs bien, q necesito etc.. Saludos
|
|
|
57
|
Informática / Electrónica / Sintonizar mas cadenas con el descodificador de Digital +
|
en: 18 Junio 2006, 13:38 pm
|
Pues nada, tengo el descodificador de canal satélite digital, de manera legal y su tarjetita y todo. Con una instalación muy buena por parte del técnico Y lo que me gustaría hacer es sintonizar las cadenas del satélite hispasat, ya que ayer, sintonizé 120 cadenas mas las de digital + con el astra. Pero con el hispasat no me deja porque como no hay ninguna cadena de canal satélite en hispasat no me permite coger las cadenas del hispasat. Existe alguna manera de cogerlas con el descodificador de canal satélite digital??, aunque no me coga las que tengo contratas (claro luego le pongo el astra y me vuelve a coger las de canal satélite). Bueno, Saludos
|
|
|
58
|
Informática / Electrónica / Claves emisión canal satelite digital
|
en: 6 Junio 2006, 16:49 pm
|
Bueno, decir en un principio que esto no es legal y que si un moderador lo quiere borrar lo entenderé, pero me da rabia que cobren 60€ al mes por ver los canales.. (sin contar pelis, mundiales o eventos extras...), y encima a los que pagan menos te ponen anuncios en la guía para que quieras ver mas y pagar mas... Bueno, fuera de cuestiones, he decidido descodificar la emisión del canal satelite digital aquí en españa. Según me dijeron necesito un descodificador, ya encontré donde le puedo conseguir además de ser el modelo que me recomendaron: http://www.locuradigital.com/television_digital/receptores_satelite/axil_ad_600.htmY ahora la parte que quiero preguntar, para poder ver canal satélite se necesitan, unos códigos que la empresa esta cambia cada mes o cada cierto tiempo, y la pregunta es ¿donde puedo conseguir los códigos? Bueno, a mi me dijeron las personas que lo tienen la señal descodificada, que se lo bajan de internet las claves, y que muchos piensan que es la misma empresa la que los libera, la cuestión es, ¿donde los consigo?, me da en la nariz que no los voy a encontrar en la web porque es ilegal, tal vez, por emule o torrent o tal vez algún programa especial donde te notifican con las claves etc..., no se, si alguién sabe y tiene descodificada la señal que me lo diga. Saludos y gracias
|
|
|
59
|
Programación / Programación Visual Basic / Mini proyecto, php a c++ usando vb, se puede??
|
en: 31 Mayo 2006, 23:41 pm
|
Bueno, tengo en mente el siguiente proyecto, que quede claro solo pregunto que si se puede hacer en vb. Yo estoy casi seguro de que si pero siempre es bueno usar mas opiniones. Mi proyecto es, php es muy sabido que no sale mas del entorno web, pues la cosa sería crear una interfad de desarrollo que me transforme un código creado en php (con api's en php ya pensadas por mi), a lenguaje c++ y luego usando el compilador que lleva el dev-c++ modificado a mis necesidades compilar ese archivo cpp en una aplicación. Así se podrían crear aplicaciones usando php. Bueno, es una idea, espero críticas de todas formas yo lo voy a intentar de hacer aunque ya veremos lo que consigo, seguro que me rindo a mitad de camino como siempre
|
|
|
|
|
|
|