Friday, January 25, 2013
Thursday, January 24, 2013
C# Get My Public IP Address using ifconfig.me
using System;
using System.IO;
using System.Net;
private string createRequest(string url, string method)
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = "curl";
request.Method = method;
using (WebResponse response = request.GetResponse())
{
using (var reader = new StreamReader(response.GetResponseStream()))
{
return (reader.ReadToEnd());
}
}
}
string myIP = createRequest("http://ifconfig.me", "GET").Replace("\n", "");
using System.IO;
using System.Net;
private string createRequest(string url, string method)
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = "curl";
request.Method = method;
using (WebResponse response = request.GetResponse())
{
using (var reader = new StreamReader(response.GetResponseStream()))
{
return (reader.ReadToEnd());
}
}
}
string myIP = createRequest("http://ifconfig.me", "GET").Replace("\n", "");
C# Put Dispaly in Sleep Mode
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
//OFF
SendMessage(this.Handle, 0x0112, (IntPtr)0xF170, (IntPtr)2);
//ON
SendMessage(this.Handle, 0x0112, (IntPtr)0xF170, (IntPtr)(-1));
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
//OFF
SendMessage(this.Handle, 0x0112, (IntPtr)0xF170, (IntPtr)2);
//ON
SendMessage(this.Handle, 0x0112, (IntPtr)0xF170, (IntPtr)(-1));
Sunday, November 18, 2012
VC++ Ignore CTRL-C and Ctrl-Break Signal
More at MSDN-Example
MSDN-Function
#include <windows.h>
#include <stdio.h>
BOOL CtrlHandler( DWORD fdwCtrlType )
{
switch( fdwCtrlType )
{
// Handle the CTRL-C signal.
case CTRL_C_EVENT:
printf( "Ctrl-C event\n\n" );
Beep( 750, 300 );
return( TRUE );
// CTRL-CLOSE: confirm that the user wants to exit.
case CTRL_CLOSE_EVENT:
Beep( 600, 200 );
printf( "Ctrl-Close event\n\n" );
return( TRUE );
// Pass other signals to the next handler.
case CTRL_BREAK_EVENT:
Beep( 900, 200 );
printf( "Ctrl-Break event\n\n" );
return TRUE;
case CTRL_LOGOFF_EVENT:
Beep( 1000, 200 );
printf( "Ctrl-Logoff event\n\n" );
return FALSE;
case CTRL_SHUTDOWN_EVENT:
Beep( 750, 500 );
printf( "Ctrl-Shutdown event\n\n" );
return FALSE;
default:
return FALSE;
}
}
int main( void )
{
if( SetConsoleCtrlHandler( (PHANDLER_ROUTINE) CtrlHandler, TRUE ) )
{
printf( "\nThe Control Handler is installed.\n" );
printf( "\n -- Now try pressing Ctrl+C or Ctrl+Break, or" );
printf( "\n try logging off or closing the console...\n" );
printf( "\n(...waiting in a loop for events...)\n\n" );
while( 1 ){ }
}
else
{
printf( "\nERROR: Could not set control handler");
return 1;
}
return 0;
}
VC++ Receive a stream of text from a system(Command) process
more at MSDN
// crt_popen.c / This program uses _popen and _pclose to receive a // stream of text from a system process. // #include <stdio.h> #include <stdlib.h> int main( void ) { char psBuffer[128]; FILE *pPipe; /* Run DIR so that it writes its output to a pipe. Open this * pipe with read text attribute so that we can read it * like a text file. */ if( (pPipe = _popen( "dir *.c /on /p", "rt" )) == NULL ) exit( 1 ); /* Read pipe until end of file, or an error occurs. */ while(fgets(psBuffer, 128, pPipe)) { printf(psBuffer); } /* Close pipe and print return value of pPipe. */ if (feof( pPipe)) { printf( "\nProcess returned %d\n", _pclose( pPipe ) ); } else { printf( "Error: Failed to read the pipe to the end.\n"); } }
VC++ Clearing the Screen
more at MSDN
#include <windows.h> void cls( HANDLE hConsole ) { COORD coordScreen = { 0, 0 }; // home for the cursor DWORD cCharsWritten; CONSOLE_SCREEN_BUFFER_INFO csbi; DWORD dwConSize; // Get the number of character cells in the current buffer. if( !GetConsoleScreenBufferInfo( hConsole, &csbi )) { return; } dwConSize = csbi.dwSize.X * csbi.dwSize.Y; // Fill the entire screen with blanks. if( !FillConsoleOutputCharacter( hConsole, // Handle to console screen buffer (TCHAR) ' ', // Character to write to the buffer dwConSize, // Number of cells to write coordScreen, // Coordinates of first cell &cCharsWritten ))// Receive number of characters written { return; } // Get the current text attribute. if( !GetConsoleScreenBufferInfo( hConsole, &csbi )) { return; } // Set the buffer's attributes accordingly. if( !FillConsoleOutputAttribute( hConsole, // Handle to console screen buffer csbi.wAttributes, // Character attributes to use dwConSize, // Number of cells to set attribute coordScreen, // Coordinates of first cell &cCharsWritten )) // Receive number of characters written { return; } // Put the cursor at its home coordinates. SetConsoleCursorPosition( hConsole, coordScreen ); } int main( void ) { HANDLE hStdout; hStdout = GetStdHandle(STD_OUTPUT_HANDLE); cls(hStdout); return 0; }
Saturday, November 17, 2012
VC++ Important pre-define pre-processor
_UNICODE
Is unicode set or not set
_DEBUG
Is configuration set to debug or release
Is unicode set or not set
_DEBUG
Is configuration set to debug or release
Subscribe to:
Posts (Atom)