Archive for the ‘Win32’ Category

cURL HTTP Save to File

nedeľa, október 25th, 2009
#include <windows.h>   
#include <stdio.h>
#include <curl/curl.h>
#include <string>
#include <iostream> 
#define IDB_MENO 1001  

static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
{
  int written = fwrite(ptr, size, nmemb, (FILE *)stream);
  return written;
}
int curl(void)
{
  CURL *curl;
  CURLcode res;
  static const char *headerfilename = "head.txt";
  FILE *headerfile;
  curl_global_init(CURL_GLOBAL_ALL);
  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://www.as-to.eu");
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
 
  /* open the files */ 
  headerfile = fopen(headerfilename,"w");
  if (headerfile == NULL) {
    curl_easy_cleanup(curl);
    return -1;
  }
 
  /* we want the headers to this file handle */ 
  curl_easy_setopt(curl, CURLOPT_WRITEDATA, headerfile);
   
  curl_easy_perform(curl);
  fclose(headerfile);
  
  /* always cleanup */
    curl_easy_cleanup(curl);
  }
  return 0;
}  
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);   
  
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,   
                   PSTR szCmdLine, int iCmdShow)   
{   
    TCHAR szAppName[] = TEXT("cURL");   
    HWND hWnd; 
	HWND Button;
    MSG msg;   
    WNDCLASSEX wc;   
       
    wc.cbSize = sizeof(wc);   
    wc.style = CS_HREDRAW | CS_VREDRAW;   
    wc.lpfnWndProc = WndProc;   
    wc.cbClsExtra = 0;   
    wc.cbWndExtra = 0;   
    wc.hInstance = hInstance;   
    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);   
    wc.hIconSm = NULL;   
    wc.hCursor = (HCURSOR)LoadCursor(NULL, IDC_ARROW);   
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);   
    wc.lpszMenuName = NULL;   
    wc.lpszClassName = szAppName;   
       
    RegisterClassEx(&wc);   
       
    hWnd = CreateWindowEx(0,szAppName,   
                        szAppName,   
                        WS_OVERLAPPEDWINDOW,   
                        CW_USEDEFAULT,   
                        CW_USEDEFAULT,   
                        200,   
                        100,   
                        NULL,   
                        NULL,   
                        hInstance,NULL);   
	 Button = CreateWindowEx( NULL,"BUTTON", "cURL", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON , 50,25,75,20,hWnd,(HMENU)IDB_MENO, hInstance,NULL); 
    ShowWindow(hWnd, iCmdShow);   
    UpdateWindow(hWnd);   
       
    while(GetMessage(&msg, NULL, 0, 0))   
    {   
          TranslateMessage(&msg);   
          DispatchMessage(&msg);   
    }   
    return msg.wParam;   
}   
  
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)   
{   
        switch(message)   
        { 
		  case WM_COMMAND:   
             switch(LOWORD(wParam)) 
			 {
			 case IDB_MENO:
				 curl();
				  break;
			 }
			 break;
          case WM_DESTROY:   
          PostQuitMessage(0);   
          return 0;   
        }   
        return DefWindowProc(hWnd, message, wParam, lParam);   
} 

cURL kompilácia DLL a LIB/cURL Compilation DLL and LIB

piatok, október 23rd, 2009

V prvom rade si stiahneme aktuálny projekt z domovskej stránky http://curl.haxx.se/download.html ( curl-7.19.6.zip )

cURL-download

cURL-download


(viac…)

Manifest

pondelok, september 21st, 2009

Manifest slúži k získaniu štýlu vzhľadu systému (XP/Vista/7).
(viac…)