Aprire una soluzione Visual Studio 2008 con Visual Studio 2005

Categories: C++, Programming

Tags:

Qualche settimana fa avevo creato una soluzione con Visual Studio 2008 Express Edition, configurando tutto l’ambiente di lavoro, opzioni del linker c++ etc…. Dopodichè mi sono accorto di poter scaricare Visual Studio 2005 Professional Edition gratuitamente da msdn academy e allora, dopo aver formattato qualche giorno fa, ho preferito installare questo. Appena ho provato ad aprire il progetto che avevo creato, purtroppo Visual Studio mi ha risposto picche: è IMPOSSIBILE per lui aprire una soluzione creata con Visual Studio 2008, perché il file di progetto e soluzioni sono stati creati con una nuova versione del programma, quindi (in teoria) il formato del file sarà diverso…!!!

Errore di Visual Studio: Impossibile aprire il file di soluzione perché è stato creato con una versione più recente dell\'applicazione
Ero molto intristito dall’idea di dover ricreare il progetto da zero e reimpostare tutte le variabili e le opzioni di compilazioni (ci avevo perso un oretta a fare compilare il mio progettino che utilizza Ogre) e allora, perso per perso, ho provato a fare una cosa: ho modificato con un editor di testo il file della soluzione, nella speranza di poter ingannare il programma.

Continue Reading »

Oggi è il Download Day

Categories: News, Web

Tags:

Oggi si proverà a stabilire un record mondiale: il software più scaricato in un giorno!

Qual’è il software? Ovviamente firefox 3.0!
Perchè partecipare? Naturalmente perchè, che possa piacere oppure no, firefox ha riaperto la guerra dei browser, scalzando dal monopolio assoluto internet explorer. Ora, finalmente, c’è concorrenza, che è sempre una buona cosa; ora si comincia seriamente a parlare di standard!
Grazie firefox!!!

Download Day

Intercettare tasti in c++

Categories: C++, Source Code, Windows

Tags:

Per intercettare la pressione dei tasti in c++, è sufficente “agganciarsi” agli eventi del sistema operativo tramite il metodo SetWindowsHookEx delle API di windows:

HHOOK SetWindowsHookEx(
    int idHook,
    HOOKPROC lpfn,
    HINSTANCE hMod,
    DWORD dwThreadId
);

Il parametro hook specifica a che tipo di eventi bisogna agganciarsi, il secondo parametro invece è il nome alla funzione da chiamare quando viene generato l’evento. Per ulteriori dettagli consultare la relativa voce su MSDN.

g_hKeyboardHook = SetWindowsHookEx (WH_KEYBOARD_LL,
	LowLevelKeyboardProc,
	hInstance, 0);

Nel nostro caso come hook settiamo la costante WH_KEYBOARD_LL per intercettare gli eventi generati dalla tastiera. Il metodo LowLevelKeyboardProc sarà quindi qualcosa del genere:

// hook per la tastiera
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
	PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT)lParam;
	// p->vkCode contiene il codice del tasto premuto

	if ((nCode == HC_ACTION) && (wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN))
	{
		// è stato premuto il tasto
	}

	if ((nCode == HC_ACTION) && (wParam == WM_KEYUP || wParam == WM_SYSKEYUP))
 	{
 		// è stato rilasciato il tasto
 	}

	return CallNextHookEx(0,nCode,wParam,lParam);
}

A cosa può servire?
Nel mio caso l’ho usato per registrare tutte le pressioni della tastiera e del mouse per salvare una macro con le azioni eseguite, per poi farle rieseguire con lo stesso tempismo da un altro programmino (per poter svolgere azioni ripetitive). Tra l’altro se a qualcuno interessa un programma del genere, e mi arrivano abbastanza feedback, mi sa che pubblicherò i sorgenti e i binari. :)
Un’altra idea interessantemalvagia è quella di costruire dei keylogger per salvare tutto ciò che l’utente scrive.

Download C++ Intercept keyboard events. Downloads: 228

Coders4fun Quiz #4

Categories: Quiz

Tags:

Main.java

public class Main {

  public static void main(String[] args) {
    System.out.print(Quiz.GetMagicNumber());
  }

}

Quiz.java

public class Quiz {

  static int magicNumber = 3;

  public static int GetMagicNumber()
  {
    return magicNumber;
  }
}

Che cosa bisogna aggiungere nella classe Quiz per far stampare 5 invece di 3?

I danni di payperstats

Categories: Web

Tags:

Sarò noioso, ma ne continuerò a parlar male finché non avrò finito di subire danni per colpa loro!
Danni a breve termine:
Fastidiosissimi popup che importunano l’utente nel proporre di scaricare virus o altro software di dubbia provenienza.
Conseguenze: alcuni utenti, particolarmente infastiditi, potrebbero decidere di non visitare più questo sito.
Danni a medio e (speriamo di no) a lungo termine:
Danni di payperstats
Google considera (giustamente) questo sito poco attendibile e ha inserito sotto ogni voce di ricerca la seguente frase: “Questo sito potrebbe arrecare danni al tuo computer.”. E se si clicca su una ricerca viene visualizzata una pagina che dice più o meno :”ATTENTO! SE CONTINUI LO FAI A TUO RISCHIO E PERICOLO!!”.
analitycs payperstats
Conseguenze: come poterle quantificare?? sicuramente è troppo presto per potere anche prevedere, in termini di visitatori, quanto questo danno di immagine influirà. So solo che, come potete constatare dalle immagini di google analytics da giorno 12 a giorno 13 marzo i visitatori provenienti da google sono scesi del 87,32%. Per un sito in cui il 48% dei visitatori totali viene propio da google, non è poco!
perdita visitatori payperstats
Danni permanenti:
Scarsa fiducia Totale sfiducia verso questi siti più o meno sconosciuti che offrono denaro in cambio di una “piccola” riga di codice da inserire nel footer del tuo sito!
Conclusioni:
se cercate un modo per guadagnare qualcosina con il vostro blog
NON FATEVI PAYPERSTATS!

Scusate

Categories: Web

Tags:

Chiedo umilmente scusa a tutti voi, cari lettori, che vi siete trovati davanti a schermate del tipo “Attenzione!! hai un virus, scarica subito antivirus.exe”. Ma tranquilli non succederà più!
Purtroppo qualche mese fa, io e dzamir(a dirla tutta lui era un po’ diffidente) abbiamo deciso di inserire nel sito un innocuo servizio di statistiche che in più dava la possibilità di guadagnare qualche euro: payperstats. Da allora siamo entrati in un mondo di sofferenza e di dolore: strani banner comparivano a piè di pagina, con explorer ogni tanto apparivano richieste di installazione di activex. Ma la goccia che ha fatto traboccare il vaso è stato u fastidiosissimo message box che mi è apparso oggi quando ho aperto il browser! NO! Questo è veramente troppo! Disabilito tutto e va******o! Pay Per Stats BASTA!
PayPerStats
Per non parlare poi del servizio di statistiche, talmente scadente che considera firefox “Netscape Navigator 7.x” :| … senza parole… .
Oltre tutto ho scoperto che non sono l’unico che li considera dei truffatori:

http://www.pochimaledettiesubito.com/guadagnare_con_internet/payperstats-ci-si-puo-guadagnare.html
http://pollycoke.net/2008/03/09/avviso-ai-naviganti-virus-stagionale/
http://www.marcostella.net/2008/03/09/addio-payperstats-decisione-obbligata/
http://www.paologatti.it/tag/payperstats

e se vi fate una googlata ne troverete altri 100…

Coders4fun Quiz #3: Compilerà?

Categories: Quiz

Tags:

Secondo voi questo pezzo di codice compila o no?? Perché??

foo.h

class Foo
{
	public:
		Foo();

		void fooo();
	private:
		int i;
		char c;
		short s;
	protected:
		char b;
		char e;

		char getFoo();
}

foo.cpp

#include "foo.h"

Foo::Foo()
{
	for (int i = 0; ; ) { }
}

void Foo::fooo()
{
while(true)
{
	c = 'f';
}
}

char getFoo()
{;
	return c + 2;
}

Protezione da programmi pericolosi

Categories: Funny, Windows

Tags:

Anche Windows XP si rende conto da solo che il maggiore pericolo alla sicurezza del sistema operativo è Esplora Risorse stesso :P Protezione programma

Stored procedure per archiviare una tabella

Categories: MySQL

Tags:

Ecco a voi un rapido esempio su come creare una stored procedure su mysql che crea un backup di una tabella e la svuota. Il backup viene effettuato su una tabella di tipo ARCHIVE, quindi compressa e senza chiavi primarie. Naturalmente per adattare lo script alle vostre esigenze cambiate la struttura ed il nome della tabella nelle “SET” delle variabili “backup_table_name” e “backup_table_structure”, con la struttura della tabella che volete archiviare eliminando chiavi primarie, campi con autoincremento ed eventuali vincoli di integrità (lasciando solo la struttura di base).

mysql logo

Lanciando la stored procedure “CALL BACKUP_TABLE(1)” verrà automaticamente creata una tabella dal nome “backup_nome_tabella_aaaaMMggHHmmss” compressa, e la tabella di origine verrà svuotata. Se preferite che la tabella di origine non venga svuotata passate alla stored procedure il parametro “0″: “CALL BACKUP_TABLE(0)”. Nel mio caso lo script si è rivelato utilissimo per fare in automatico il backup di una tabella di log.
Continue Reading »

Prima versione di USB AutoStart

Categories: C, Source Code, USBAutoStart

Tags:

USB AutoStart

UsbAutoStart è un utility per Windows che permette di eseguire l’autoplay sulle penne usb o sui drive esterni. Windows per questioni di sicurezza infatti impedisce di eseguire l’autoplay negli hard disk rimovibili, ma attraverso questo programma si può bypassare questa impostazione e far sì che venga fatto partire un programma presente nella penna al collegamento di un hard disk esterno.
Inoltre, quando si cerca di rimuovere il dispositivo esterno con la “rimozione sicura dell’hardware”, il programma chiuderà tutti i programmi aperti nel computer che si trovano nella penna USB:

Screenshots:

Rilevamento del collegamento di una periferica usb:

Usb Autostart Periferica collegata

Opzioni di usb autostart:

Usb Autostart Opzioni

Il progetto è hostato su sourceforge, ed è rilasciato sotto la licenza GPL, quindi è completamente open source! :)

Download Usb Autostart

Next »