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...)