小编Mik*_*ike的帖子

从另一个应用程序获取Button句柄

我有一个程序需要将BM_CLICK消息发送到另一个应用程序按钮.我可以获得父窗口句柄,但是当我尝试获取按钮句柄时,如果总是返回0

我从Spy ++获得了按钮标题名称和按钮类型,这似乎是对的,但我知道我一定有错.下面是我的代码

 public const Int BM_CLICK = 0x00F5;

 [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        private static extern IntPtr SendMessage(IntPtr hwnd, uint Msg, IntPtr wParam, IntPtr lParam);

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);



private void button1_Click(object sender, EventArgs e)
{
    Process[] processes = Process.GetProcessesByName("QSXer");

    foreach (Process p in processes)
    {
        ////the Button's Caption is "Send" and it is a "Button".  
        IntPtr ButtonHandle = FindWindowEx(p.MainWindowHandle, IntPtr.Zero, "Button", "Send"); …
Run Code Online (Sandbox Code Playgroud)

c# winapi sendmessage

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

检查行数据是否已更改

我的目标:如果行已更新或已插入新行,则将数据从一个表移动到另一个表.

我有一张桌子,我需要某些字段.我需要知道行是否已更新或插入.Source表没有任何Timestamp字段.我正在使用MSSQL2008.数据来自客户端,他们正在控制表和复制.

我以为我已经弄清楚使用MSSQL 2008 的新Merge函数,但无论是否有任何更改,它都会更新所有行.这通常不是一个大问题,但我必须添加时间戳字段.无论行是否已更新,我的修改时间字段都将更新.

所以我需要一种方法来完成我的上述目标.我不是一个伟大的SQL专家,所以你可以看到我正在努力任何帮助都会很棒.

USE NaylorAequor
DECLARE CurretDate GetDate();

MERGE Aequor_SLA_Ads AS Target

USING (select AWA.AdOrderID,emp.FirstName, emp.LastName,AWA.VendorID,AO.OrderDate,AO.SaleStatusID,A.AdColorId,AO.PublicationID,AWA.DateAssigned,AWA.DateAdCompleted 
from AdWorkAssignMent as AWA, Employee as emp, AdOrder AS AO,Ad as A
WHERE VendorId = 'Aequor' AND emp.EmployeeID = AWA.EmployeeID AND AWA.AdOrderId = AO.AdOrderID AND AO.AdId = A.AdId) AS Source

ON (Target.AdOrderID = Source.AdOrderID) 

WHEN MATCHED THEN
         UPDATE SET 
            Target.AdOrderID =Source.AdOrderID,
            Target.FirstName = Source.FirstName,
            Target.LastName =Source.LastName,
            Target.VendorID =Source.VendorID,
            Target.OrderDate =Source.OrderDate,
            Target.SaleStatusID =Source.SaleStatusID,
            Target.AdColorId =Source.AdColorId,
            Target.PublicationID =Source.PublicationID,
            Target.DateAssigned =Source.DateAssigned,
            Target.DateAdCompleted …
Run Code Online (Sandbox Code Playgroud)

t-sql database sql-server

6
推荐指数
2
解决办法
9794
查看次数

xamarin 导航栏未显示 TitleView

Xamarin 新手,我正在尝试在我的跨平台应用程序中创建自定义导航栏。经过一些阅读,我发现我可以在我的 xaml 页面文件中使用标题视图组件,如下所示。

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="amici.MyGroups">
    <NavigationPage.TitleView>
        <StackLayout Orientation="Horizontal" VerticalOptions="Center" Spacing="10">
            <Label HorizontalOptions="StartAndExpand" Text="Left"/>
            <Label HorizontalOptions="CenterAndExpand" Text="Center"/>
            <Label HorizontalOptions="EndAndExpand" Text="Right"/>
        </StackLayout>
    </NavigationPage.TitleView>

    <ContentPage.Content>
        <ScrollView>
            <Grid x:Name="grid1">
                <StackLayout>
                        <Label Text="Welcome"
                        VerticalOptions="CenterAndExpand" 
                        HorizontalOptions="CenterAndExpand" />
                    </StackLayout>
                   <ActivityIndicator x:Name="WaitIcon"  IsRunning="{Binding IsBusy}" VerticalOptions="Center" HorizontalOptions="Center" />
            </Grid>
        </ScrollView>
    </ContentPage.Content>
</ContentPage>
Run Code Online (Sandbox Code Playgroud)

我导航到我的页面“MyGroups”,如下所示:Navigation.PushAsync(new MyGroups());。

但是,唯一显示的是带有后退图标箭头的默认导航页面?

显然我错过了一些东西,或者我不明白一些东西。这是否需要在应用程序级别完成?

xaml xamarin xamarin.forms

4
推荐指数
1
解决办法
4274
查看次数

我应该如何正确使用XSLT if语句?

我创建了一个XSLT样式表,它查找节点并删除它.这非常有效.我现在想检查是否存在某个节点,然后删除该节点(如果存在).

所以我试图添加一个if语句,那是我遇到了以下错误:

编译错误:文件dt.xls第10行元素模板
元素模板仅允许作为样式表的子项

我想我理解错误,但不知道如何绕过它.

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output omit-xml-declaration="yes" indent="yes"/>

  <xsl:template match="Ad">
    <xsl:template match="node()|@*">

      <xsl:if test="name-ad-size">
        <xsl:copy>
          <xsl:apply-templates select="node()|@*"/>
        </xsl:copy>
      </xsl:if>

    </xsl:template>
  </xsl:template>


  <xsl:template match="phy-ad-width"/>
  <xsl:strip-space elements="*"/>
  <xsl:preserve-space elements="codeListing sampleOutput"/>
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

xslt compiler-errors

3
推荐指数
1
解决办法
1689
查看次数

Xamarin:NameScope 中已存在键为“X”的元素

当我尝试推送到新页面时出现以下错误。

(我使用 Xamarin.Form 4.6.0.800)

{System.ArgumentException: An element with the key 'NewAccountLogo' already exists in NameScope
Parameter name: name
  at Xamarin.Forms.Internals.NameScope.Xamarin.Forms.Internals.INameScope.RegisterName (System.String name, System.Object scopedElement) [0x0000e] in D:\a\1\s\Xamarin.Forms.Core\Internals\NameScope.cs:21 
  at amici.NewAccount.InitializeComponent () [0x00078] in C:\Users\X\source\repos\amici\amici\amici\obj\Debug\netstandard2.0\NewAccount.xaml.g.cs:46 
  at amici.NewAccount..ctor () [0x0000f] in C:\Users\X\source\repos\amici\amici\amici\NewAccount.xaml.cs:26 
  at amici.Logon+<OnCreateAccountClick>d__3.MoveNext () [0x0002a] in C:\Users\X\source\repos\amici\amici\amici\logon.xaml.cs:119 }
Run Code Online (Sandbox Code Playgroud)

错误似乎很直接,所以我返回并重命名元素,然后在我的项目中搜索相同的名称。(只有一个)。重新编译并再次尝试,相同的消息但使用新名称?所以我删除了该元素并尝试重新编译并再次尝试,有趣的是我得到了相同的消息但是下一个元素?所以现在我在想可能错误信息不太正确,或者试图告诉我其他事情。我就是想不通。下面是我的xaml。

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             NavigationPage.HasNavigationBar="True"
             Title="New Account"
             x:Class="amici.NewAccount">
    <ContentPage.Content >
        <ScrollView>
            <Grid>
                <StackLayout Margin="20" Padding="10" AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1">
                    <Image x:Name="NewAccountLogo"/>
                    <Entry x:Name="NewEmail" Placeholder="Email"/>
                    <Entry x:Name="EmailConfirm" Placeholder="Confirm Email"/>

                    <Label Text="Password between 6 …
Run Code Online (Sandbox Code Playgroud)

xaml xamarin.forms

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