小编GSe*_*erg的帖子

Windows上的共享内存访问权限

我开发了一个使用共享内存的Windows应用程序---即内存映射文件,用于进程间通信.我有一个Windows服务,它执行一些处理并定期将数据写入内存映射文件.我有一个单独的Windows应用程序,它从内存映射文件中读取并显示信息.该应用程序在Windows XP,XP Pro和Server 2003上按预期工作,但不在Vista上.

我可以看到写入内存映射文件的数据是由Windows服务正确发生的,因为我可以使用文本编辑器打开文件并查看存储的消息,但"消费者"应用程序无法从文件中读取.这里需要注意的一件有趣的事情是,如果我关闭使用者应用程序并重新启动它,它会消耗先前写入内存映射文件的消息.

另外,另一个奇怪的事情是当我使用远程桌面连接到Windows主机并通过远程桌面调用/使用消费者应用程序时,我得到相同的行为.但是,如果我调用远程桌面并使用以下命令连接到目标主机的控制台会话:mstsc -v:servername /F -console,一切正常.

这就是为什么我认为问题与权限有关.任何人都可以评论这个吗?

编辑:

我用来创建内存映射文件的ACL和同步访问的Mutex对象如下:

TCHAR * szSD = TEXT("D:")
               TEXT("(A;;RPWPCCDCLCSWRCWDWOGAFA;;;S-1-1-0)")
               TEXT("(A;;GA;;;BG)")
               TEXT("(A;;GA;;;AN)")
               TEXT("(A;;GA;;;AU)")
               TEXT("(A;;GA;;;LS)")
               TEXT("(A;;GA;;;RD)")
               TEXT("(A;;GA;;;WD)")
               TEXT("(A;;GA;;;BA)"); 
Run Code Online (Sandbox Code Playgroud)

我认为这可能是问题的一部分.

windows shared memory-access

7
推荐指数
2
解决办法
1万
查看次数

在VB中是\整数除法?

在VB.NET中,即使两个操作数都是整数,'/'运算符也会导致值浮动(如果结果是非整数).
所以我尝试使用'\'运算符产生整数值而不管操作数.

所以我认为'\'是整数除法

2.5\3结果0

现在我尝试了
1.5\2
我预计它会为0但它会导致1.
现在,这是一个错误还是正确的结果?
实际上是什么'''运算符?

如果它是一个错误,它通过VB6存在

vb.net division integer-division

7
推荐指数
2
解决办法
1万
查看次数

我可以在Delphi中使用类似+ =的东西吗?

我试图在谷歌搜索这个,但该+=部分被忽略.

所以我想在变量中添加一些文本:

Text := 'asdf';
Text := Text + 'ghijk';
Run Code Online (Sandbox Code Playgroud)

这工作正常,但对于更长的变量名称,这样的东西会很好:

Text := 'asdf';
Text += 'ghijk';
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

delphi

7
推荐指数
1
解决办法
2414
查看次数

如何使用Gmail API检索我的Gmail邮件?

我想要实现的目标:


我使用的是Gmail的API,基本上我想连接到我的Gmail帐户阅读我的邮件,收件箱类别,并获取每个邮件的基本信息(标题/主题,,,日期和发送者).

问题:


我正在尝试根据自己的需要调整这个用C#编写的Google示例,我正在寻找C#或Vb.Net的解决方案,无论如何.

(请注意,Google会针对不同的用户所示国家/地区显示不同的代码示例,因此该网页的代码可能与每个网站的代码相同,而Google的逻辑确实非常糟糕.)

我在下面的代码中遇到的问题是:

  • 我在lblInbox.MessagesTotal财产上得到一个空值.
  • msgItem.Raw 财产也总是空的.
  • 我还没有发现如何只解析INBOX类别中的消息.
  • 我还没有发现如何确定消息是读还是未读.
  • 我还没有发现如何确定邮件的基本信息(主题,来自,发送日期,发件人).

这就是我尝试过的,请注意,在调整Google的示例时,我认为该"user"参数应该是Gmail用户帐户名("MyEmail@GMail.com"),但我不确定它应该是那样.

Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Imports System.Text
Imports System.Threading
Imports System.Threading.Tasks

Imports Google.Apis.Auth.OAuth2
Imports Google.Apis.Services
Imports Google.Apis.Util.Store
Imports Google.Apis.Gmail
Imports Google.Apis.Gmail.v1
Imports Google.Apis.Gmail.v1.Data
Imports Google.Apis.Gmail.v1.UsersResource

Public Class Form1 : Inherits Form

    Private Async Sub Test() Handles MyBase.Shown
        Await GmailTest()
    End Sub

    Public Async Function GmailTest() As Task
        Dim credential As …
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net gmail google-api

7
推荐指数
2
解决办法
2万
查看次数

VB5 DLL,如何从C#(.NET 4.5)调用该函数

我的问题很简单

VB.dll(VB5.0我猜)包括这些方法

Private Declare Function ffr_device_find Lib ".\ffr_32.dll" () As Boolean
Private Declare Function ffr_data_transceive_ex Lib ".\ffr_32.dll" (ByVal sp_sdata As String, ByVal sp_rdata As String) As Boolean
Run Code Online (Sandbox Code Playgroud)

在C#....(.NET 4.5)

[DllImport("FFR_32.dll", CallingConvention = CallingConvention.Cdecl)]
extern public static Boolean ffr_device_find();

[DllImport("FFR_32.dll", CallingConvention = CallingConvention.Cdecl)]
extern public static void ffr_data_transceive_ex([Out] string sp_sdata, [Out] string sp_rdata);
// FYI, I tried [Out], out, and ref but to no avail.
Run Code Online (Sandbox Code Playgroud)

第一个效果很好,

但第二个溢出了这个错误.

对PInvoke函数'ffr_data_transceive_ex'的调用使堆栈失衡.
这很可能是因为托管PInvoke签名与非托管目标签名不匹配.检查PInvoke签名的调用约定和参数是否与目标非托管签名匹配.

FYI

这是来自VB的工作代码...(不是内部DLL源)

Dim st As String
Dim …
Run Code Online (Sandbox Code Playgroud)

c# vb.net interop

7
推荐指数
1
解决办法
197
查看次数

通过With语句释放变体类型对象数组元素

如果一个对象数组被声明为Variant类型(以便轻松检查它是否使用IsEmpty函数初始化),那么,如果随后定义的数组的元素被引用为With语句的对象表达式(例如With VariantObjArray(i) ...),那么对象变量数组元素将被错误地释放(尽管With语句的对象变量的隐式副本将在单个后续执行过程中正确运行 - 通过With语句的范围)。此外,数组元素对象变量的错误释放可能是内存泄漏,因为它是在执行 With 表达式时立即发生的,而不是任何标准释放机制(例如退出With语句或从子例程返回)的结果或明确设置为 Nothing。

Sub DemoVariantObjArrayBug()
    Dim i As Integer
    Dim NextWkSh As Worksheet
    Static VariantObjArray As Variant

    If IsEmpty(VariantObjArray) Then 'Check to avoid unnecessary re-allocation of static or global array variable
        ReDim VariantObjArray(1 To ThisWorkbook.Worksheets.Count)
        For Each NextWkSh In ThisWorkbook.Worksheets
            i = i + 1: Set VariantObjArray(i) = ThisWorkbook.Worksheets(i)
        Next NextWkSh
    End If
    
Stop 'and, to observe the bug, open the Locals …
Run Code Online (Sandbox Code Playgroud)

arrays vba object variant

7
推荐指数
1
解决办法
207
查看次数

记录Visual Basic 6.0代码

我刚刚被要求记录一个人完成了10年的VB6开发.自从我自己查看VB6代码已经有一段时间了,所以我基本上想知道是否有人有任何关于如何最好地解决它的提示.

是否有任何好的软件,无论是否免费,哪些类似于VB6的javadoc,这可能会有所帮助?

或者,如果有人对如何执行此操作的工具/方法有任何建议.任何提示将不胜感激.

vb6 documentation documentation-generation

6
推荐指数
1
解决办法
4710
查看次数

如何在xslt for-each中继续

如何做一个继续在XSLT for-each(不退出for-each,而是继续for-each

喜欢:

<xsl:for-each select="asd">

    <xsl:if test="$test1">
        <!--some stuff-->
        <xsl:if test="$test1A">
            <!--CONTINUE()-->
        </xsl:if>
    </xsl:if>

    <xsl:if test="$test2">
        <!--some stuff-->
        <!--CONTINUE()-->
    </xsl:if>

    <!--main stuff-->
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

xml xslt

6
推荐指数
1
解决办法
5387
查看次数

<script type ="text/javascript + protovis"> +符号是什么意思?

正如标题所要求的那样,

这个+标志意味着<script type="text/javascript+protovis">什么?

有什么好材料吗?

javascript protovis

6
推荐指数
1
解决办法
346
查看次数

C# 中 System.String[*] 和 System.String[] 的区别

编辑:我知道 C# 相当于For Each server As String In serversis foreach(var item in servers),但由于GetOPCServers返回对象,因此应该将其转换为可迭代类型。

\n
\n

我正在使用 COM 库开发一个应用程序。由于64位会出现问题,所以我的目标CPU是x86。

\n

所有方法都按预期工作,除了GetOPCServers().

\n

尽管使用相同 dll 的 Visual Basic 代码不会导致问题,但 C# 会抛出System.InvalidCastException以下错误:

\n
\n

System.Core.dll 中发生了类型为“System.InvalidCastException”的第一次机会异常

\n

附加信息:
\n\'System.String[*]\' t\xc3\xbcr\xc3\xbcndeki nesne \'System.String[]\' t\xc3\xbcr\xc3\xbcne at\xc4\xb1lamad\xc4 \xb1.

\n
\n

由于我的操作系统是土耳其语,因此对错误消息表示歉意。

\n
\n

type 中的对象System.String[*]不能赋值System.String[]

\n
\n

System.String[*]和 和有什么区别System.String[]

\n

使用相同dll的VB代码运行没有异常

\n
Public Class OpcInfo\n  Dim servers As …
Run Code Online (Sandbox Code Playgroud)

c# vb.net com

6
推荐指数
1
解决办法
1768
查看次数