#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#include "ppport.h"
#include <windows.h>
#include <stdio.h>
#include <float.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int isFileOpen(char *filename)
{
HFILE theFile = HFILE_ERROR;
DWORD lastErr = NO_ERROR;
// Attempt to open the file exclusively.
theFile = _lopen(filename, OF_READ | OF_SHARE_EXCLUSIVE);
if (theFile == HFILE_ERROR)
// Save last error...
lastErr = GetLastError();
else
// If the open was successful, close the file.
_lclose(theFile);
// Return TRUE if there is a sharing-violation.
if ((theFile == HFILE_ERROR) &&
(lastErr == ERROR_SHARING_VIOLATION))
return 1;
}
int GetClipboardSize()
{
char *htext, *stext;
if( OpenClipboard(NULL) )
htext=GetClipboardData(CF_UNICODETEXT);
stext = (LPTSTR) GlobalLock((HGLOBAL) htext);
GlobalUnlock((HGLOBAL) htext);
return GlobalSize(htext);
}
void SaveClipboardToFile( char* filename )
{
char *h;
int i, size;
FILE *f;
if ( OpenClipboard(NULL) ){
h = GetClipboardData(CF_UNICODETEXT);
size = GlobalSize(h);
if( size > 0 ){
f = fopen(filename,"wb");
for( i = 0; i < size; i++){
fprintf( f, "%c", *(h+i) );
}
fclose(f);
}
}
}
void Empty (void )
{
if( OpenClipboard(NULL) ){
EmptyClipboard();
}
}
MODULE = Win32::Clipboard::File PACKAGE = Win32::Clipboard::Fil
+e
int
GetClipboardSize()
void
SaveClipboardToFile( filename )
char *filename
void
Empty()
int
isFileOpen( filename )
char *filename