Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - byway

#1
alguien sabe el motivo del porque la zona segura de un dominio sale como cuenta suspendida:

compre un dominio hace un par de semanas y ahora q ya esta lista la web se le instalo certificados SSL de zeroSSL y luego la de lets encrypt y con ambos no funciona el https que es de zona segura.. redirige a una cuenta suspendida con el mismo dominio

http://gcmdi.com   dominio normal comprado en godady

https://gcmdi.com   dominio con zona segura (con el icono del candado) pero esta suspendido. con datos de otra web.

consulte a soporte de dominios y solo me ofrecieron comprarles el SSL a ellos pero demasiado caro para solucionar el problema..


#2
ASM / cambiar pulsacion de teclado
25 Mayo 2013, 02:28 AM
Hola, tal como el titulo menciona me gustaria aprender como cambiar la pulsacion del teclado.

encontre un programa el cual esta en la red, hecho en asm compilado con MASM32 es un cheat para un juego online el gunbound, el cheat es algo viejo.. solo me gustaria saber como cambiarle, modificar la opcion de que se muestre con pulsar otra tecla, este se muestra pulsando la tecla print screen .. me gustaria saber como puedo cambiar eso .. para que se muestre con otra tecla como por ejemplo control.
estuve revisando su codigo y bueno no se nada de asm ... se un poco de visual basic, con lo cual me sirve para ver la estructura.

Publico este post para que alguien que domine este lenguaje me exlpique algo.

esto es parte del codigo principal:

Código (asm) [Seleccionar]


.586
.MODEL FLAT, STDCALL

OPTION       CASEMAP : NONE

INCLUDE WINAPI.inc

INCLUDELIB     KERNEL32.lib
INCLUDELIB     USER32.lib
INCLUDELIB GDI32.lib
INCLUDELIB MSVCRT.lib


;MSVCRT functions

_ftol       PROTO C: VARARG
_CIpow      PROTO C: VARARG         ; X^Y
_itoa       PROTO C: VARARG
time        PROTO C: VARARG
malloc      PROTO C: VARARG
difftime    PROTO C: VARARG
free        PROTO C: VARARG

.DATA?

buffer DB 0ffh DUP (?)
angle_buff DB 0ffh DUP (?)

.DATA

INCLUDE Data1.asm
INCLUDE Data2.asm

;INCLUDE Data1_gps.asm


wc  = 1
th  = 0


showmore db 1 ; yep...
server db wc ; default wc
key     db 0ffh
angle   dd 0
angle2   dd 0
power dd 0

angle_str   db "W.Power: %.2i",0
angle_str2   db "W.Angle: %.3i",0
power_str   db "Power: %.3i",0

dragonbot_ini db ".\dragonbot.ini",0
default_wc db "wc",0
default_th db "th",0
section db "Settings",0
keyname2 db "Info",0
keyname1 db "Server",0

.CODE

EntryPoint:

;invoke GetPrivateProfileStringA,offset section,offset keyname1,offset default_wc,offset buffer,0ffh,offset dragonbot_ini
;invoke CharLowerA,offset buffer
;invoke lstrcmpA,offset default_th,offset buffer
;.if eax==0
; mov server,th
;.endif

;invoke GetPrivateProfileStringA,offset section,offset keyname2,offset default_wc,offset buffer,0ffh,offset dragonbot_ini
;invoke CharLowerA,offset buffer
;.if byte ptr[buffer]=="1"
; mov showmore,1
;.endif


   INCLUDE WinMain.asm


;--- Pixel functions (WC)
     
   INCLUDE Get_Enemy_XY.asm
   INCLUDE Get_XY.asm
   INCLUDE Get_Wind_Speed.asm
   INCLUDE Get_Wind_Angle.asm

   INCLUDE Get_Angle.asm

;--- Pixel functions (TH) ; from DragonBot 8.x

   ;INCLUDE getenemyxy_gps.asm    
   ;INCLUDE getselfxy_gps.asm
   ;INCLUDE getwindspeed_gps.asm
   ;INCLUDE getwindangle_gps.asm
   ;INCLUDE getangle_gps.asm

;--- Draw functions (Shared)
 
  INCLUDE Draw3.asm      ; aid lines
  INCLUDE Draw0.asm      ; trace
  INCLUDE Draw1.asm      ; slot lines
  INCLUDE Draw2.asm      ; mobile


  INCLUDE Get_Power.asm


END EntryPoint


viendo parte del codigo vi uno donde menciona en comentarios esta api en winmain.asm (dentro del zip) presumo pueda ser alli:

Código (asm) [Seleccionar]
mov     edi, ds:GetAsyncKeyState

el codigo completo:

http://crystian.comxa.com/dbwc1_asm.rar
para quienes responderan que estudie y revise mas sobre ensamblador ... si estuve revisando y le veo interesante ... pero no le entiendo. ;D
#3
Hola a todos, tengo un problema en modificar una funcion del codigo original de un pack, este muestra 3 columnas con las categorias y sus respectivas subcategorias desde una bd, y al modificar el stylo de la web para no desperdiciar espacios laterales me muestra un espacio vacio dentro de la pagina final.

imagen de como se ve:


imagen de como quiero que se vea:


El codigo de la funcion que me muestra 3 columnas con ese vacio donde debe ir la columna 4:
Código (php) [Seleccionar]

function getCategoriesList(){//for the home
    $ocdb=phpMyDB::GetInstance();
    $query="SELECT name,friendlyName,idCategory from ".TABLE_PREFIX."categories where idCategoryParent=0 order by `order`";
    $result=$ocdb->getRows($query);
   
    $i =0;
$q = count($result);
$z = round($q/3);

    foreach ($result as $category ) {
        $name=$category["name"];
        $fcategory=$category["friendlyName"];
        $idCat=$category["idCategory"];
        if ($name!=""&&$fcategory!=""){
           
            if ($i==0 or $i==$z) $list.= '<div class="cats_col1 cats_colums">';
    elseif ($i==($z*2)) $list.= '<div class="cats_col2 cats_colums">';

        $url=catURL($fcategory);
       
        $list.= '<ul><li class="cathead"><a title="'.$name.'" href="'.SITE_URL.$url.'">'.$name.'</a></li>';
       
        //get sub cats category
            $query="SELECT idCategory,name,friendlyName
    FROM ".TABLE_PREFIX."categories C
        where idCategoryParent!=0  and idCategoryParent=$idCat
        order by idCategoryParent, `order`";
                $result2=$ocdb->getRows($query);


                foreach ($result2 as $row ) {
                    $name2=$row['name'];
                    $fcategory2=$row['friendlyName'];
                    if ($fcategory!=""){
                    $url=catURL($fcategory2,$fcategory);              
                    $list.= "<li><a title=\"$name2\" href=\"".SITE_URL."$url\">$name2</a></li>";
                    }
                 }
        //end get sub cats category
       
        $list.= '</ul>';
        if ($i==($z-1) or $i==(($z*2)-1) or $i==($q-1)) $list.='</div>';
    $i++;
        } //if name       
    } //for 
   return $list;
}


Codigo del estilo dimensiona las columnas, el cual se llama dentro de la funcion:

Código (css) [Seleccionar]

#frontpage {padding: 10px 0px 10px 0px;}
#frontpage_cats .cats_col1{width: 197px;float:left;margin-right:15px;}
#frontpage_cats .cats_col2{width: 196px;float:left;}
#frontpage_cats .cats_colums ul{list-style-type: none;margin-bottom: 15px;padding: 0px;border: none; padding:5px 8px; border:1px solid #ddd;}
#frontpage_cats .cats_colums ul li {line-height:20px;padding:2px 0 2px 10px;background:url("bullet_1.gif") no-repeat left 8px; text-transform:lowercase; border-bottom:1px solid #ddd;}
#frontpage_cats .cats_colums ul li.cathead {font-weight:bold; padding:0 0 2px 0; background:none; text-transform:uppercase;}
#frontpage_cats .cats_colums ul li.cathead a {color:#5C8F47; text-decoration:none}
#frontpage_cats .cats_colums ul li.cathead a:hover { text-decoration:underline;}


como ven en la linea:
Código (php) [Seleccionar]
$z = round($q/3);

para 4 columnas seria:
Código (php) [Seleccionar]
$z = round($q/4);

y al parecer la modificacion tambien es en las lineas:
Código (php) [Seleccionar]
if ($i==0 or $i==$z) $list.= '<div class="cats_col1 cats_colums">';
    elseif ($i==($z*2)) $list.= '<div class="cats_col2 cats_colums">';


y/o :
Código (php) [Seleccionar]
if ($i==($z-1) or $i==(($z*2)-1) or $i==($q-1)) $list.='</div>';

pero ni idea de como hacer eso. Cabe decir que mis conocimientos en php son muy basicos (nivel novato).

toda ayuda sera bienvenida.
#4
buenas ... hace tiempos no hago nada con visual basic, por el trabajo .. mi problema es como puedo adicionar espacios a una cadena de texto, por ejemplo a la cadena 1234567890 adicionar espacios cada 2 digitos para que quede asi :

12 34 56 78 90

trate de usar la funcion split pero como crear un delimitador..
pienso que leyendo toda la cadena y recorrer cada 2 caracteres y adiconar un espacio y luego sumarle 2 caracteres mas y asi hasta el final de toda la cadena, pero me pierdo en eso de recorrer 2 caracteres y pausarlo para adicionar una espacio.

toda sugerencia es bienvenida.
#5
Programación Visual Basic / sumar horas...
12 Marzo 2010, 01:53 AM
haber si me ayudan con esto d sumar horas, tomo el tiempo del sistema y le sumo por decir 1 hora para que ejecute algo y bueno lo primero que se me ocurrio hacer fue lo siguiente:
Código (vb) [Seleccionar]

Dim h, m, s As Integer
Dim h2, m2, s2 As Integer
Private Sub Timer1_Timer()
hora.Caption = Time$
End Sub

Private Sub Command1_Click()

h = Val(Left(hora.Caption, 2))
m = Val(Mid(hora.Caption, 4, 2))
s = Val(Right(hora.Caption, 2))

h2 = Val(Left(hora2.Text, 2))
m2 = Val(Mid(hora2.Text, 4, 2))
s2 = Val(Right(hora2.Text, 2))

kk = Format(h + h2 & ":" & m + m2 & ":" & s + s2)

End Sub


esta algo chapusero ... jeje haber si me dan una idea de como hacer para que al sumarle mas horas no sobrepase de las 24 horas.
#6
bueno suena simple pero no he podido dar con la solución a esto.. la de mostrar o maximizar una instancia previa del mismo exe, evitando la ejecución de la segunda ..

para evitar ejecución del mismo exe 2 veces uso la función api CreateMutex :

Código (vb) [Seleccionar]

Option Explicit

'Code by Adam Verwijs
Const ERROR_ALREADY_EXISTS = 183&
Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As Any, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function ReleaseMutex Lib "kernel32" (ByVal hMutex As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

'Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Const SW_NORMAL = 1

Dim ventana As Long

Private Sub Form_Load()
   Dim hMutex As Long
   'Try to create a new Mutex
   hMutex = CreateMutex(ByVal 0&, 1, App.Title)
   'Did the mutex already exist?
   If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then
       'Clean up
       ReleaseMutex hMutex
       CloseHandle hMutex
       'More than one instance detected
       MsgBox "No se puede ejecutar 2 veces lo mismo"
       Hide
       'busco la ventana con el mismo nombre de la instancia previa
       ventana = FindWindow(vbNullString, Me.Caption)
       'llamo al hwnd de la ventana encontrada
       Call SetForegroundWindow(ventana)
       'muestro ala ventana mediante su hwnd
       Call ShowWindow(ventana, SW_NORMAL)
       End
   
   End If
End Sub



ayuda y sugerencias.. seran bienvenidas..  ;D

Edit: solucionado.
Código (vb) [Seleccionar]
Option Explicit

'Code by Adam Verwijs
Const ERROR_ALREADY_EXISTS = 183&
Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As Any, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function ReleaseMutex Lib "kernel32" (ByVal hMutex As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Const SW_NORMAL = 1

Dim ventana As Long

Private Sub Form_Load()
   
    Dim hMutex As Long
    Me.Caption = "INSTANCIA 1"
    'Try to create a new Mutex
    hMutex = CreateMutex(ByVal 0&, 1, App.Title)
    'Did the mutex already exist?
    If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then
        'Clean up
        ReleaseMutex hMutex
        CloseHandle hMutex
        Me.Caption = "INSTANCIA 2"
        Hide
        'busco la ventana con el mismo nombre de la instancia previa
        ventana = FindWindow(vbNullString, "INSTANCIA 1")
        'llamo al hwnd de la ventana encontrada
        Call SetForegroundWindow(ventana)
        'muestro ala ventana mediante su hwnd
        Call ShowWindow(ventana, SW_NORMAL)
        End
    End If
 
End Sub



Saludos.
#7
lo que tengo es lo siguiente una tabla con 3 campos:

Tipo , Usuario , Clave

donde Tipo es el indicador si es un Administrador o Usuario simple. esto para darle algunos privilegios ... lo que hize es algo simple:

Código (vb) [Seleccionar]
Dim cn As New ADODB.Connection
Dim Rst As New Recordset
Dim i As Integer
Dim ClaveCorrecta As Boolean

Private Sub Form_Load()
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "data.mdb"
cn.Open
End Sub

Private Sub Button1_Click()

If TxtUsuario.Text <> Empty And TxtClave.Text <> Empty Then
Rst.Open "SELECT Usuario,Clave FROM Usuarios", cn, adOpenStatic, adLockPessimistic, adAsyncFetch
      If Rst.RecordCount Then
            For i = 1 To Rst.RecordCount
           
               If StrComp(Rst(0).Value, TxtUsuario) = 0 Then
                   If StrComp(Rst(1).Value, TxtClave) = 0 Then
                       ClaveCorrecta = True
                       Exit For
                    End If
                End If
           
            Rst.MoveNext
           
            Next i
        End If
     
        If ClaveCorrecta Then
            Unload Me
            Principal.Show
        Else
            MsgBox "Ha escrito incorrectamente el nombre de usuario o la clave",            vbExclamation, "Atención"
            Rst.Close
            Set Rst = Nothing
        End If
    Else
        MsgBox "Debe escribir en nombre de usuario y la clave", vbExclamation, "Atención"
    End If

End Sub


como es multiusuario... solo habia hecho esto pero sin tener en cuenta lo de tipo, y toy dandole vueltas para poder manejar todo eso... y poder mostrarlo en una etiketa algo asi :

Código (vb) [Seleccionar]
Principal.Tipo.Caption 

Alguna sugerencia de como lograrlo.

Saludos.





#8
bueno como dice la pregunta como mantener un procedimiento en ejecucion.. aunque suena simple... pero la idea es tener un procedimiento se ejecute o este pendiente siempre .. pero que no consuma recursos de microprocesador ni memoria .. lo que tengo es :

todo el procedimento en un timer y lo ejecuto cada segundo, pero este me consumia de 3 a 5 % de procesador en la pc testeada.. lo optimize un poco y ahora consume de 2 a 3 % del procesador, pero cada segundo esta asi...

que es lo que hace el procedimento? 

pues lee una lista de un archivo donde tengo una lista de nombres de aplicaciones indeseables que no quiero se ejecuten en la pc y con un findwindow lo encuentro en memoria y lo finalizo, y asi puedo seguir agregando nombres en la lista de programas con sus nuevas versiones...

y todo ese procedimiento se repite cada segundo... y aqui el detalle aveces se consume mucha cpu y eso no esta bien..

como puedo cambiar o evitar el uso de un timer o temporizador ... o si es posible de hacer algun tipo de procedimento (como un hook) no se casi nada de eso, pero bueno almenos optimizar el bucle.

aki esta mi codigo optimizado, cargo la lista a un listbox y de con esa lista hago la buskeda en memoria..

Código (vb) [Seleccionar]
Private Sub listar()
On Error GoTo error
Dim linea As String
Dim linea2 As String
Open "data.db" For Input As #2
Do Until (EOF(2))
    Line Input #2, linea
    linea2 = Encrypt(linea)
    List1.AddItem linea2
Loop
Close (2)
Exit Sub
error:
Close (2)

End Sub


y el procedimento de buskeda con un timer a 1000 ms:

Código (vb) [Seleccionar]
Private Sub Timer1_timer()
On Error Resume Next
Dim i As Integer
Dim proceso As String
total = List1.ListCount - 1
For i = 0 To total
proceso = List1.List(i)
CerrarProceso (proceso)
Next i
End Sub


y se que la pregunta no esta bien formulada, no se me ocurrio ponerle otro titulo.
y si me diras busca en google.. pues ya busque y no encontre nada con lo que busco.

EDIT: sobre lo que optimize es que la lista ya lo tengo dentro del programa en un listbox y asi me evito estar cargandolo cada vez y asi reduci el uso del cpu.

Me olvide mencionar si se puede hacer como los antivirus .. estan pendientes de lo que se ejecuta, y cuando sucede eso recien inicia la buskeda .. algo asi como revisando si hay cambios en la memoria.

Saludos.






#9
Bueno este tema de los skins es reviejo ...  ;D ;D ;D ;D

aki les traigo como un remember sobre el tema ... con un pack de algunos skin que recopile de la web.. con una aplicacion simple para visualizarlos ... y de hecho la ocx (actskin4.ocx)


Skins.rar - Descargalo en UpSourceCode.com.ar

Edit: el pack tiene casi 4 megas por todos los skins, mencione una aplicacion ... no hay aplicacion alguna solo el codigo de la captura, y la ocx.

Saludos.

#10
Codigo simple para evitar copias no autorizadas de nuestra aplicacion, haciendo uso de una api de comparacion sensitiva :

Código (vb) [Seleccionar]
Private Declare Function lstrcmp Lib "kernel32" Alias "lstrcmpA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long

Compara dos cadenas de caracteres, dicha comparación "es sensitiva a mayúsculas y minúsculas", es decir, para esta función:

s1 = "String 1"

s2 = "string 1"

Estas cadenas, no son iguales, ya que "s1" tiene "S" y "s2" tiene "s".


Asi mismo obteniendo datos unicos de cada pc, en este caso el username y la serie del disco duro... se pueden obtener mas datos, pero con estos es suficiente, los guardo en un archivo, si el archivo no existe no continua con su ejecucion, si el archivo no es de la pc registrada tampoco sirve.

se puede mejorar .. cifrando los datos, escribiendolos al registro sin usar archivo alguno... pero como mencione es tan simple para lo que hace.

http://www.gigasize.com/get.php/3197892104/ejemplo_no_copias_autorizadas.rar


#11

Como podran ver en la imagen al mover el mouse por el form muestra el menu flotante... del systray, pero esto solo sucede cuando el form es un poco grande .. si es pekeño no se ve este error...

uso este codigo : http://www.snapdrive.net/files/202548/vb60/ejemplo.rar

tambien probe un modulo de Leandro ... y sigue con el mismo detalle de mostrar el menu al mover el mouse por esa region del form...

a alguien le ha pasado o sabe como corregir esto... gracias de antemano
#12

Vi un post donde decia que no sabia el tipo de error le daba.. que curioso si vb te dice sobre el error en tiempo de ejecucion... ya bueno aki les dejo algo sobre el tema de error en tiempo de ejecucion .. para los que recien empiezan que son muchos.. esto les servira.. le adicione un ejemplo de manejar el error.. algo mas vistoso y no te salga ese anuncio del error que se ve feo ;D ;D ;D

recuerdo hace tiempos ni sabia como manejar estos errores... y juas se cerraba todo ... :-[

descarga del source

Salu2.
#13
Tengo un list box donde cargue una lista de un texto ... por ejemplo 50 lineas de texto, y lo que quiero obtener es poder leer item por item .. un item ala vez y poner el contenido en una misma etiketa reemplazandolo... empezando por el primer item hasta el ultimo ...

List1.ListCount  es el numero de items del listbox
List1.List(ListIndex) me muestra el primer item de la lista
List1.List(ListIndex + 1) me muestra el segundo item de la lista

con esto hago recorrer la lista
Código (vb) [Seleccionar]
List1.ListIndex = List1.ListIndex + 1
If List1.ListIndex = List1.ListCount - 1 Then List1.ListIndex = -1


alguna idea de como obtener lo explicado...

PD: ya revise lo de la api SendMessage...

http://www.recursosvisualbasic.com.ar/htm/listado-api/154-obtener-items-de-listbox-combo-con-sendmessage.htm

pero la verdad ni idea de como hacerlo para que lea item por item ... y lo ponga en un label ..