1

精简版

是否有关于RenPrivateAppointment用于传输约会的 Outlook 剪贴板格式的文档?

长版

提醒一下,对于剪贴板上的任何内容,源应用程序可以以多种不同格式向您显示数据。接收者可以按顺序浏览列表,并决定它最能理解的格式。

就我的 Outlook 约会而言,格式为:

  • 0: "RenPrivateSourceFolder" (IStream)
  • 1: "RenPrivateMessages" (IStream)
  • 2: "RenPrivateItem" (H全球)
  • 3: "FileGroupDescriptor" (H全球)
  • 4: CFSTR_FILEDESCRIPTOR (H全球)
  • 5:( CFSTR_FILENAME 文件)
  • 6: CFSTR_FILECONTENTS (IStream,IStorage)
  • 7: "Object Descriptor" (H全球)
  • 8: "RenPrivateAppointment" (IStream)
  • 9: CF_TEXT (H全球)
  • 10: CF_UNICODETEXT (H全球)

查看各种格式的内容,最有希望的看起来像RenPrivateAppointment格式:

01 00 00 00 C0 C8 1E 0D   60 CE 1E 0D 01 00 00 00    ....ÀÈ.`Î......
6A CB 1E 0D 79 CB 1E 0D   41 00 00 00 41 73 6B 20    jË..yË..A...Ask 
71 75 65 73 74 69 6F 6E   20 61 62 6F 75 74 20 61    question about a
70 70 6F 69 6E 74 6D 65   6E 74 20 63 6C 69 70 62    ppointment clipb
6F 61 72 64 20 66 6F 72   6D 61 74 20 6F 6E 20 53    oard format on S
74 61 63 6B 6F 76 65 72   66 6C 6F 77 00 02 00 00    tackoverflow...
00 02 00 00 00 18 00 00   00 00 00 00 00 BC B9 6E    ............¼¹n
9C 12 F8 D3 43 AC B7 74   81 5E F0 3D FC 04 D2 97    œ.øÓC¬·t.^ð=ü.Ò—
00 00 00 00 00 00 00 00   00 02 00 00 00 00 00 00    ...............
00 01 00 00 00 00 00 00   00 00 00 00 00 00 00 00    ................
00 FF 92 81 02 41 00 73   00 6B 00 20 00 71 00 75    .ÿ’.A.s.k. .q.u
00 65 00 73 00 74 00 69   00 6F 00 6E 00 20 00 61    .e.s.t.i.o.n. .a
00 62 00 6F 00 75 00 74   00 20 00 61 00 70 00 70    .b.o.u.t. .a.p.p
00 6F 00 69 00 6E 00 74   00 6D 00 65 00 6E 00 74    .o.i.n.t.m.e.n.t
00 20 00 63 00 6C 00 69   00 70 00 62 00 6F 00 61    . .c.l.i.p.b.o.a
00 72 00 64 00 20 00 66   00 6F 00 72 00 6D 00 61    .r.d. .f.o.r.m.a
00 74 00 20 00 6F 00 6E   00 20 00 53 00 74 00 61    .t. .o.n. .S.t.a
00 63 00 6B 00 6F 00 76   00 65 00 72 00 66 00 6C    .c.k.o.v.e.r.f.l
00 6F 00 77 00 00 00 01   00 00 00 00 00 FF FF FF    .o.w.........ÿÿÿ
FF                                                   ÿ

其中一些可以解释为:

剪贴板格式“RenPrivateAppointment”

01 00 00 00               ; always 0x00000001 (Version 1?)
C0 C8 1E 0D               ; Start day of appt.  minutes from 1/1/1601 0x0D1EC8C0 = 220,121,280 minutes = 7/11/2019 12:00 am
60 CE 1E 0D               ; End   day of appt.  minutes from 1/1/1601 0x0D1ECE60 = 220,122,720 minutes = 7/12/2019 12:00 am
01 00 00 00               ; 0x00000001 (fixed)
6A CB 1E 0D               ; Start of appt.      minutes from 1/1/1601 0x0D1ECB6A = 220,121,962 minutes = 7/11/2019 11:22 am
79 CB 1E 0D               ; End of appt.        minutes from 1/1/1601 0x0D1ECB79 = 220,121,977 minutes = 7/11/2019 11:37 am

                          ; "Ask question about appointment clipboard format on Stackoverflow.\0"  
41 00 00 00               ; String length prefix, including null terminator (0x00000041 = 65 characters)
41 73 6B 20 71 75 65 73     Ask ques
74 69 6F 6E 20 61 62 6F     tion abo
75 74 20 61 70 70 6F 69     ut appoi
6E 74 6D 65 6E 74 20 63     ntment c
6C 69 70 62 6F 61 72 64     lipboard
20 66 6F 72 6D 61 74 20      format 
6F 6E 20 53 74 61 63 6B     on Stack
6F 76 65 72 66 6C 6F 77     overflow
00                          .

02 00 00 00               ; 0x0000002 = 2
02 00 00 00               ; 0x0000002 = 2

18 00 00 00               ; 0x00000018 = 24
00 00 00 00               ; 0x00000000 = 0
BC B9 6E 9C 12 F8 D3 43   ; always
AC B7 74 81 5E F0 3D FC   ; always
04 D2 97 00               ; varies (~32 ticks per day)  0x0097D204 = 9,949,700

00 00 00 00 
00 00 00 00 

02 00 00 00               ; 0x00000002 = 2
00 00 00 00 
01 00 00 00               ; 0x00000001 = 1
00 00 00 00 
00 00 00 00 
00 00 00 00 
FF 92 81 02               ; always 0x028192FF   

                          ; N"Ask question about appointment clipboard format on Stackoverflow\0"
41 00 73 00 6B 00 20 00 71 00 75 00 65 00 73 00    A.s.k. .q.u.e.s.
74 00 69 00 6F 00 6E 00 20 00 61 00 62 00 6F 00    t.i.o.n. .a.b.o.
75 00 74 00 20 00 61 00 70 00 70 00 6F 00 69 00    u.t. .a.p.p.o.i.
6E 00 74 00 6D 00 65 00 6E 00 74 00 20 00 63 00    n.t.m.e.n.t. .c.
6C 00 69 00 70 00 62 00 6F 00 61 00 72 00 64 00    l.i.p.b.o.a.r.d.
20 00 66 00 6F 00 72 00 6D 00 61 00 74 00 20 00     .f.o.r.m.a.t. .
6F 00 6E 00 20 00 53 00 74 00 61 00 63 00 6B 00    o.n. .S.t.a.c.k.
6F 00 76 00 65 00 72 00 66 00 6C 00 6F 00 77 00    o.v.e.r.f.l.o.w.
00 00                                              ..

01 00                     ; padding to DWORD

00 00 00 00 
FF FF FF FF               ; footer

是否有任何关于RenPrivateAppointment的文档,或者任何其他允许用户进行丰富交互的其他格式?

注意:这不是自动执行 Outlook。这是处理IDataObjectOutlook 放置在剪贴板上的内容。我想检索:

  • 开始时间
  • 时间结束
  • 描述

也可以看看

4

2 回答 2

2

GitHub上有一个项目解析RenPrivateAppointment剪贴板格式:https ://github.com/yasoonOfficial/outlook-dndprotocol

于 2019-07-11T20:00:37.273 回答
1

RenPrivateAppointment格式没有记录。您可以在 Outlook 日历线程中的 DragDrop 事件中阅读相关内容,该线程有来自 VSTO 团队成员的官方评论。此外,您可以查看使用 Outlook 拖放页面。

于 2019-07-11T20:14:40.870 回答