elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: [1] 2
1  Programación / .NET (C#, VB.NET, ASP) / titlebar personalizada y botones del sistema en: 30 Mayo 2012, 18:56 pm
estoy haciendo un ui en csharp y estoi tratando de poner un barra mas personalizada de titulo. quisiera saber si puedo mover el grupo de botones del sistema, minimizar maximizar y cerrrar, si pueden ser movidos a otra parte del form. como puede hacerse , ya que lo que quiero es hacer una barra personalizada.
2  Programación / Programación Visual Basic / apagado de pc en vb en: 7 Marzo 2012, 05:33 am


estoy trtando de hacer andar una funcion de apagado de pc pero por alguna razon no funciona, lo quiero hacer en vb6 , lo depure con msg box porque no se todavia como depurar con vb (empece hace unos dias XD) y necesito hacer andar esta funcion. se trta de reiniciar la pc cuando apreto un button
mi depuracion me dijo que  el la ejecucion cae en el primer message que dice "UNO" y sale, pero por que si en c anda bien esto?

agradeceria que me solucionen el funcionamiento de esto chicos

Código:
Private Sub Command2_Click()

Dim MsgRet As Integer
MsgRet = MsgBox("Desea apagar su pc?", 36, MB_OK)

If MsgRet = 6 Then

    Dim OsInfo As OSVERSIONINFO
    OsInfo.dwOSVersionInfoSize = Len(OSVERSIONINFO)

    If OsInfo.dwPlatformId = VER_PLATFORM_WIN32_NT Then

        Dim hToken As Long
        Dim tkp As TOKEN_PRIVILEGES
       
        If Not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, VarPtr(hToken)) Then
           
            Call MsgBox("UNO", 36, MB_OK)
       
            End
        End If
       
        'Call MsgBox("DOS", 36, MB_OK)
       
       
        Dim tmpLuid As LUID
        Call LookupPrivilegeValue(0, SE_SHUTDOWN_NAME, tmpLuid)
     
        tkp.Privileges(0).vLuid = tmpLuid
        tkp.PrivilegeCount = 1
        tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED
       
        Call AdjustTokenPrivileges(hToken, 0, tkp, 0, ByVal 0&, ByVal 0&)

        If Not GetLastError() = ERROR_SUCCESS Then
            End
        End If
       
        'Call MsgBox("TRES", 36, MB_OK)
       
        If ExitWindowsEx(EWX_POWEROFF Or EWX_FORCE, 0) = 0 Then
        End If
    End If
    End
End If

End Sub

3  Programación / Programación Visual Basic / cast parametro null en: 5 Marzo 2012, 08:04 am

en c esto es

Código:
AdjustTokenPrivileges(hToken, 0, tkp, 0, (TOKEN_PRIVILEGES) 0, 0)

necesito en vb como hacerlo, osea esta linea es el problema con el parametro 5
Código:
Call AdjustTokenPrivileges(hToken, 0, tkp, 0, 0, 0)

:/
4  Programación / Programación C/C++ / algunma mejor idea para la edad? en: 9 Febrero 2012, 20:27 pm
este codigo da la edad aproximada, quisiera si me pueden ayudar a hacer qeu este codigo sea perfecto

agradezco su interes

Código:
bool esbisiesto(int a)
{
bool bisiesto=false;
    if(a%4==0)
       bisiesto=true;
    if((a%100==0) && (a%400!=0))
        bisiesto=false;
return bisiesto;
}

unsigned int CalcularEdad(Fecha birthdate)
{
int AnioActual, AA, MesActual, MM, DiaActual, DD;
int año, Mes, Dia;

int MonthDays[2][12]  = {
//{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
            //{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 28, 30, 31, 30, 31, 31, 31, 30, 31, 30, 31},
            {31, 29, 30, 31, 30, 31, 31, 31, 30, 31, 30, 31},
};
SYSTEMTIME time;
GetLocalTime(&time);
AA=birthdate.getAnyo();
MM=birthdate.getMes();
DD=birthdate.getDya();
AnioActual=time.wYear;
MesActual=time.wMonth;
DiaActual=time.wDay;
año = AA-AnioActual;
if( MesActual <= MM )
{
Mes = MM - MesActual;
}
else
{
Mes = MM+12-MesActual;
año = año -1;
}
if( DiaActual <= DD )
{
Dia = DD - DiaActual;
}
else
{
Dia=DD+MonthDays[esbisiesto(AA)][MM-1]-DiaActual;
Mes = Mes -1;
}
if( Mes < 0 )
{
año = año - 1;
Mes = 12 + Mes;
}
unsigned int Arreglo=año*-1;
//Result = Format('Años: %.0f, Meses: %.0f, Dias: %.0f', [año, Mes, Dia]);
return Arreglo;
}

el codigo fue sacado de u n codigo de visual basic en google y lo modifique pero necesito hacerlo andar bien :|
5  Programación / Programación C/C++ / matrices con notasion de pnteros en: 1 Diciembre 2011, 19:20 pm
un programa bascico de una matriz quiero hacer por ejemplo de 5x5 pero no con notasion de indice sino con notasion de puntero,

void f_matriz(int m[][5])
{
}

int main()
{
     int m[5][5];
     f_matriz(m);

    return 0;
}


esa funcion de matriz deberia cargar 5 numeros y mostrarlos pero usando no la de indices, como puedo hacer porque nunca probe esta notasion con matrices
6  Programación / Programación C/C++ / duda con macro con if else if else en: 23 Septiembre 2011, 15:08 pm
quiero hacer una macro asi, pero no se como hacerla realmente  :-[

#define FOPEN(a,b)
 
            if(a==1) b=fopen("asd1.dat","ab"); /
            else if(a==2) b=fopen(""asd2.dat,"ab");


el problema es que no se bien las reglas para crear macros asi complejas

necesitaria ayuda  :laugh:

7  Programación / Programación C/C++ / ingreso de texto en GLUT en: 11 Septiembre 2011, 20:14 pm
hola estoy haciendo un programa de loguin pero ahora he decicido pasarlo a GLUT, usando esta libreria de opengl. el primer problema que encontre es el ingreso de texto, porque cuando lo hago desde modo consola uso obviamente cin.getline para el ingreso de nombre de usuario y constraseña, pero en glut solo se como hacer salidas de texto, pero no entradas, es decir como puedo hacer ... muestro algo de lo que tengo hasta ahora es solo ejemplos de codigo de glut, pero lo que necesito no lo tengo, osea el ingreso de texto.
http://www.daniweb.com/software-development/cpp/threads/366395

Código:
void output(int x, int y, char *string)
{
  int len, i;

  glRasterPos2f(x, y);
  len = (int) strlen(string);
  for (i = 0; i < len; i++) {
    glutBitmapCharacter(font, string[i]);
  }
}

Código:

MAX_LEN = 20;
#include <conio.h>
void display(void)
{
  glClear(GL_COLOR_BUFFER_BIT);
  output(0, 24, "Welcome to MyProgram");
  output(100, 100, message);
  output(50, 145, "Ingrese nombre de usuario");

  char password[20];
  int count;
  count = 0;
  do
  {
unsigned char input = getch();
unsigned char* ptr;
if(input == 13)
{
break;
}

output(50, 175, "*");

ptr = &input;
password[count] = *ptr;
count++;

  }while(count < MAX_LEN);

  output(50, 200, "Ingrese contrasenia");
  glutSwapBuffers();
}

como se ve luego de que pide el ingreso del nombre, yo trate de hacer que los caracteres ingresados, se pasen a '*' como son los sistemas de loguin.
pero esto colapsa el programa. alguna idea ?



8  Programación / Programación C/C++ / duda doble puntero char a matriz de char en: 4 Septiembre 2011, 19:59 pm
yo se que este tema fue discutido pero todavia no entiendo porque esto que compilamdo bien, no funciona. no se porque el compilador no reconoce mi declaracion

Código:
char **mVector = (char**)malloc(sizeof(char)*(filas*columnas));

como si fuera una matriz, mas bien lo reconoce como un vector de vectores,
pero como creo entonces una matriz de  char dinamicamente?

Código:
int main(int argc, char *argv[])
{
int filas=7;
int columnas=16;
char **mVector = (char**)malloc(sizeof(char)*(filas*columnas));

       //memset(mVector, 0, sizeof(char)*(filas*columnas));
       for(int r=0;r<7;r++)
for(int s=0; s<16;s++)
mVector[r][s]=0;

for(int rr=0;rr<7;rr++)
for(int ss=0; ss<16;ss++)
cout << mVector[rr][ss]<<endl;//ERROR al leer!!!!!!!!


free(mVector);


        system("pause");
return 0;
}


http://foro.elhacker.net/programacion_cc/martiz_de_char_doble_puntero-t333527.0.html
en mi anterior tema me dijeron que debia reservar memoria primero para los vectores supongamos que son 7 en mi caso, y despues sus longitudes osea 16,
pero me confunde esta forma de hacerlo, no hay una mas directa asi como en el codigo mostrado ?


>>

esto fue solucionado asi pero como ya digo, no se porque debe hacerse asi por partes y no todo junto (osea multiplicando filas por columas lo cual da la dimension).
...  :¬¬

Código:

void main()
{
        int filas=7;
int columnas=16;
//char** mVector = (char**)malloc(sizeof(char)*(filas*columnas));
char** mVector = (char**)malloc(sizeof(char*)*(filas*columnas));
for(int read=0;read<filas;read++){
mVector[read] = (char*)malloc(sizeof(char)*columnas);
}

//memset(mVector, 0, sizeof(char)*(filas*columnas));
for(int r=0;r<7;r++)
for(int s=0; s<16;s++)
mVector[r][s]='X';

for(int rr=0;rr<7;rr++)
for(int ss=0; ss<16;ss++)
cout << rr << ":" << ss << "  " << mVector[rr][ss]<<endl;

free(mVector);
system("pause");
}

si alguien fuera amable de decirme porque  :rolleyes:
o por deduccion contraria, que es lo que ahce esto entonces  :huh:

Código:
char** mVector = (char**)malloc(sizeof(char)*(filas*columnas));

porque ami forma de apreciarlo esto calcula la dimension total ...

9  Programación / ASM / getch propia para no usar getch de conio en: 22 Agosto 2011, 01:30 am
este es un requerimiento, necesito esta funcion getch andando por favor, la parte principal esta en este lenguage que no entiendo, y encima lo debo estudiar ironicamente para mi uni, parecen 3 lineas pero no se que hacen y no anda, me tira error cuando la trato de usar. alguno puede arreglar esta funcion se lo agracederia

Código:
unsigned char GETCH(void)
{
unsigned char key;

_asm
{

start:
mov ah,0
int 0x16
cmp al,0
je start ; don't process special keys
mov key,al
}

return key;
}

10  Programación / Programación C/C++ / contraseña disimulada con * en: 22 Agosto 2011, 01:23 am
hola q tal, este ejemplo lo saque de google, es sobre algo que estaba haciendo, estaba tratando de ocultar el ingreso de una clave por medio de convertir lo que se teclea en * (osea hasteriscos)
no compila en codeblocks, pero compila en visual studio. lo que necesito que me ayuden es en la parte de _asm porque es una forma de evitar el uso de getch de conio y usar esamblador  :xD
sino corresponde diganme que muevo el tema a el foro de ASM
lo que pasa que tira error en esa parte

Código:
#include <windows.h>
#include <stdio.h>

typedef unsigned char tiny;

tiny GETCH(void);

int main(void)
{
tiny input;
tiny *ptr;
char password[20];
int count;
system("cls"); // too lazy not to cheat here
count = 0;
printf("enter your password: ");
do
{
input = GETCH();
if(input == '\xD') break; // enter pressed?
putc('*', stdout);
ptr = &input;
password[count] = *ptr;
count++;
}while(count < 20);

password[count++] = '\0'; // terminate the string
printf("\nyour password: %s\n", password);

return 0;
}

tiny GETCH(void)
{
tiny key;

_asm
{

start:
mov ah,0
int 0x16
cmp al,0
je start ; don't process special keys
mov key,al
}

return key;
}

Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines