とくにあぶなくないRiSKのブログ

危ないRiSKのブログだったかもしれない。本当はRiSKだけどググラビリティとか取得できるIDの都合でsscriskも使ったり。

アイディアを実現

早速,C言語+Win32で実装してみた。今のところ一方通行だけど。

#pragma comment(linker, "/opt:nowin98")
#pragma comment(linker, "/merge:.rdata=.text")
#pragma comment(linker, "/ignore:4078")
#include <windows.h>
#include <stdio.h>
#define OR(A, B, C) ( (A)||(B)||(C) )
int main(void){
HWND t;
return
OR(!OpenClipboard(0),
!OR(IsClipboardFormatAvailable(CF_TEXT),
IsClipboardFormatAvailable(CF_OEMTEXT),
IsClipboardFormatAvailable(CF_UNICODETEXT)),
!(t=GetClipboardData(CF_TEXT)))
? 1
: printf("%s", (char*)t), CloseClipboard(), 0;
}

関数型言語のふいんき(←なぜか変換できない)を出そうとあがいてみた*1。確かに return は悪だね。
あーそうそう,#pragmaにコンパイラが対応してない場合は,コメントアウトしてね。

バイナリダウンロード

ClipboardPipe20070109.zip 11.5KB bin
ReadMeなんて物は存在しません。扱いすべては自己責任でお願いします。

*1:結局,関数型の言語って何なの?つうか,CloseClipboardしないパスがあるような気がする。まぁ,気にしないで。OSが何とかしてくれるさ。