解答・コメントを送る方法

コメントを送るには2つの方法があります。
  • 匿名でコメントを書く
    ログインせずにコメントを書くことができます。 名前は「匿名」となります。
  • アカウントを作成してコメントを書く
    アカウントを作成すると、記名での投稿ができます。 また、プロフィールページが作成され、 簡単なプロフィールや 統計情報が表示されるようになります。
どちらの場合も投稿後の修正・削除はできないので、 投稿前によくご確認下さい。

投稿ボタンを押す前に以下の文章を確認してください

  • 当サイトへの投稿は クリエイティブ・コモンズ・ライセンス BY(表示)および、その解釈に同意するものとみなされます。各ページには下のようにライセンス表示が行われます。
    Creative Commons License このサイトの内容は、 クリエイティブ・コモンズ・ライセンスの下でライセンスされています。 [詳細]
  • あなたの投稿したコード・コメント・トピックが再利用・添削されることを望まない場合は、投稿をお控えください。
  • 自分が書いていない、ウェブサイトや書籍などからの無断コピーは著作権の侵害です。著作権者の了解を得るか、自分で0から書いてください。
  • 著作権の侵害、名誉毀損、など投稿内容に問題がある場合、削除することがあります。
  • これらのことにあなたはあらかじめ同意したものとみなされます。

Post comment

Post a comment to the following challenge: クリップボードへの転送 (Nested Flatten)

As a reply to the following comment: ocean: 私が使ってるライブラリそのものですが。私...(#6681) [show]

[hide]
私が使ってるライブラリそのものですが。私はこのコードを ocean/clipboard.py として保存してるので、

import ocean.clipboard as c
c.get() # クリップボードの中身を取得
c.set("hoge") # クリップボードに設定
c.clear() # クリップボードを空にする

として使います。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
from __future__ import with_statement
from contextlib import contextmanager
import ctypes

GMEM_DDESHARE = 0x2000
GMEM_MOVEABLE = 0x0002
CF_TEXT = 1

user32 = ctypes.windll.user32
kernel32 = ctypes.windll.kernel32

@contextmanager
def _GlobalLock(h):
    p = kernel32.GlobalLock(h)
    if not p:
        raise WindowsError("GlobalLock() failed")
    try:
        yield p
    finally:
        kernel32.GlobalUnlock(h)

@contextmanager
def _Clipboard():
    if not user32.OpenClipboard(None):
        raise WindowsError("OpenClipboard() failed")
    try:
        yield
    finally:
        user32.CloseClipboard()

def set(s):
    s = s.encode("mbcs")
    # memory block
    h = kernel32.GlobalAlloc(GMEM_DDESHARE | GMEM_MOVEABLE, len(s) + 1)
    if not h:
        raise WindowsError("GlobalAlloc() failed")
    try:
        with _GlobalLock(h) as p:
            p = (ctypes.c_char * (len(s) + 1)).from_address(p)
            for i, c in enumerate(s + "\0"):
                p[i] = c
        # clipboard
        with _Clipboard():
            user32.EmptyClipboard()
            user32.SetClipboardData(CF_TEXT, h)
    except:
        kernel32.GlobalFree(h)
        raise

def get():
    with _Clipboard():
        h = user32.GetClipboardData(CF_TEXT)
        if h:
            with _GlobalLock(h) as p:
                return ctypes.c_char_p(p).value.decode("mbcs")

def clear():
    with _Clipboard():
        user32.EmptyClipboard()


コメント本文
形式 [?]
コード
言語

タグ
半角スペースで区切って複数のタグを入力できます。
参考ページタイトル

参考ページURL
利用規約を読んで同意する必要があります。
by guest

Index

Feed

Other

Link

Pathtraq

loading...