Søren "Pengman" Pedersen skrev:
> Hey gruppe
>
> Hvordan kan jeg lave det sådan at jeg kan kopiere fra et eller andet windue
> i windows og over til mit C-program (som kører i sådan et DOS-vindue den
> selv åbner og lukker når den er færdig).
> Det jeg ønsker mig er at man enten kan bruge Ctrl+V (som I alle andre
> windovsprogrammer) eller at den automatisk læser den tekst der står i
> clipboard og indsætter dem.
>
> Kan en af dissse løsninger lade sig gøre (rimelig nemt)?? Enten ved at
> indsætte noget kode i mit program eller ved at ændre på en indstilling i
> windows??
>
Følgende burde kunne bruges:
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
int main(void)
{
char *s;
HANDLE handle;
if(!OpenClipboard(NULL))
{
printf("Failed to open clipboard!\n");
return EXIT_FAILURE;
}
if((handle = GetClipboardData(CF_TEXT)) == 0)
{
printf("Failed to get clipboard data!\n");
CloseClipboard();
return EXIT_FAILURE;
}
if((s = (char *)GlobalLock(handle)) == NULL)
{
printf("Failed to lock clipboard data!\n");
CloseClipboard();
return EXIT_FAILURE;
}
printf("Clipboard data: %s\n", s);
CloseClipboard();
return 0;
}
Jeg har compilet det med gcc (cygwin) og det ser ud til at virke,
det burde køre uden ændringer med andre C-compilere.
/b
--
Bertel Brander, author of Wain, a free text editor for programmers:
http://home20.inet.tele.dk/midgaard/program.htm